JVM进程性能监控工具

1. jps — Java process state, 针对JVM进程的PS命令
相关参数:
-v 显示启动时给定的JVM参数
-q jps默认只带着类的短名称,如果指定-q则只显示pid
-l 显示完整类名
-m 显示传递给main主函数的参数,例如:

2. jinfo — 显示/设置正在运行的JVM进程的扩展参数
jinfo需要指定进程的pid,关于flag参数如下:
-flag :显示指定的JVM参数值。如果Boolean型值时则显示+,-号
-flag [+|-]:设置|取消指定参数的blog值
-flag =value
使用JVM堆内存设置和测试的测试代码,并在中间加上一行中断:

运行这个程序:

添加输出GC日志选项:

这时按回车继续程序,可以看出在运行最后打印了GC的信息:

3. jmap — 生成Java应用程序的堆快照和对象统计信息,生成的dump文件需要用工具来打开进行分析。参数:
-heap ​打印Java堆信息
-histo[:live] 打印Java的对象堆的直方图信息。如果指定live,则只统计存货的对象。
-permstat ​打印永久代统计信息
-finalizerinfo ​打印等待被终结(finalize)的对象信息

4. jstack — 显示线程堆栈信息,常用于程序卡死后的堆栈分析
-l 显示锁信息
-m 显示Java和native的信息
-F 强制dump,当jstack没有响应时使用

5. JConsole — Java SDK自带的图形化工具,非常方便。
启动时会提示选择attach到一个JVM进程上。登录后界面如下,实时窗口包括堆内存、线程、类加载和CPU使用率等四个性能概况,另外还包括一些JVM的统计信息。
jconsole1
线程面板可以诊断线程状态,堆栈(类似jstack),死锁等信息。
jconsole2

6. Visual VM — 相当于jconsole的升级版,将很多命令行工具的功能整合在一起。同样由JDK免费提供。
使用 VisualVM 进行性能分析及调优

参考

JDK Docs
葛一鸣老师的JVM课程

Posted in Dev, Java|Scala, Linux.
  1. Ӌ嫩模Ӌ宋仲基妹妹爆乳美女丝袜写真中国人体艺术图片美女写真视频卡戴珊全裸沙滩写真天使的诱惑大结局4.mm88.gq

  2. 丝袜社区૶美腿控૶黑丝袜美女૶明星美足૶丝袜美腿论坛૶性感吊带丝袜૶www.meitui1.com

  3. 丝袜诱惑 520人体艺术亚洲美女人体艺术狼的诱惑歌词腹黑妹妹控兄记10王祖蓝为妹妹买房瑞莎写真非洲人体艺术www.mm520.gq