参考

深入理解JVM(七)——性能监控工具

JVM性能调优监控工具专题一

JVM调优总结 + jstat 分析

1. 进入 jdk 目录

cd /usr/local/jdk/bin

2. 查询所有 java进程信息

jps   (推荐)

jps  -v

3.查询 java进程的启动时配置信息

jinfo 进程Id

4.统计当前进程gc信息

jstat -gcutil 进程Id  毫秒数

如: jstat -gcutil 15320 1000   每1秒(1000毫秒)打印一次java进程Id为15320的 GC信息

列字段信息如下

S0 — Heap上的 Survivor space 0 区已使用空间的百分比     

S1 — Heap上的 Survivor space 1 区已使用空间的百分比     

E   — Heap上的 Eden space(新生代) 区已使用空间的百分比     

O   — Heap上的 Old space(老年代) 区已使用空间的百分比    

P   — Perm space(永久代) 区已使用空间的百分比 

CCS — 压缩使用比例 

YGC — 从应用程序启动到采样时发生 Young GC 的次数  (年轻代垃圾回收次数)

YGCT– 从应用程序启动到采样时 Young GC 所用的时间(单位秒)    (年轻代垃圾回收消耗时间)

 FGC — 从应用程序启动到采样时发生 Full GC 的次数  (老年代垃圾回收次数)

FGCT– 从应用程序启动到采样时 Full GC 所用的时间(单位秒)     (老年代垃圾回收消耗时间)

GCT — 从应用程序启动到采样时用于垃圾回收的总时间(单位秒) 

5. 输出当前线程堆栈信息文件

jstack -F 进程Id >> 文件名.jstack

6.输出每个Class的实例数,内存占用等

jmap -histo:live 进程Id  >>  文件名

7.输出 进程堆栈 dump信息,可用MAT分析

jmap -dump:live,format=b,file=文件名  进程Id

(执行命令前 先ulimit -c unlimited 将core文件设置为无限大,否则会报错,Java进程会退出)

最新文章

  1. 数据结构:链表(python版) 续:增加比较函数
  2. app上架流程的整理
  3. linux下重启apache
  4. 【UE4游戏开发】安装UE4时报SU-PQR1603错误的解决方法
  5. 说说JSON和JSONP,也许你会豁然开朗(转)
  6. The Zero
  7. UVa10806 Dijkstra,Dijkstra-费用网络流
  8. poj 3264 Balanced Lineup (RMQ)
  9. 从源代码分析Android-Universal-Image-Loader的缓存处理机制
  10. JAVA 正则 Pattern 和 Matcher
  11. eclipse svn切换账号登陆问题
  12. wikioi 1154 能量项链
  13. wxWidgets Tutorial
  14. HW4.40
  15. 标准I/O库之定位流
  16. APUE(1)——UNIX基本概念
  17. poj 3735 大数量反复操作问题(矩阵高速幂)
  18. logistic回归 c++ 实现
  19. 《C和指针》---指针
  20. 【CFD之道】2018年原创文章汇总

热门文章

  1. 深入理解yield-乾颐堂
  2. 基于mosquitto的MQTT服务器---SSL/TLS 单向认证+双向认证
  3. Spring Boot☞ 使用Thymeleaf模板引擎渲染web视图
  4. u盘安装Linux系统详细教程
  5. 有一个5ml 的瓶子 和3ml 的瓶子 和 很多水 现在 要取出4ml的水 请写出编程 多种解法
  6. elasticsearch-jdbc 使用
  7. 编写高质量代码改善C#程序的157个建议——建议95:避免在构造方法中调用虚成员
  8. Java50道经典习题-程序3 打印水仙花数
  9. mybatis--mapper配置总结
  10. [HTTP]Nonocast.http post方法