jvm性能分析工具使用
jvm性能分析
一、JPS:列出本机所有java进程的pid
命令选项
- -q 仅输出VM标识符,不包括class name,jar name,arguments in main method
- -m 输出main method的参数
- -l 输出完全的包名,应用主类名,jar的完全路径名
- -v 输出jvm参数
- -V 输出通过flag文件传递到JVM中的参数(.hotspotrc文件或-XX:Flags=所指定的文件
- -Joption 传递参数到vm,例如:-J-Xms48m
二、jmap:性能调优工具
jmap -help 查看命令使用说明
如图,命令格式:jmap [option] <pid>
参数:
- option: 选项参数。
- pid: 需要打印配置信息的进程ID。
- executable: 产生核心dump的Java可执行文件。
- core: 需要打印配置信息的核心文件。
- server-id 可选的唯一id,如果相同的远程主机上运行了多台调试服务器,用此选项参数标识服务器。
- remote server IP or hostname 远程调试服务器的IP地址或主机名。
option参数:
- no option: 查看进程的内存映像信息,类似 Solaris pmap 命令。
- heap: 显示Java堆详细信息
- histo[:live]: 显示堆中对象的统计信息
- clstats:打印类加载器信息
- finalizerinfo: 显示在F-Queue队列等待Finalizer线程执行finalizer方法的对象
- dump:<dump-options>:生成堆转储快照
- F: 当-dump没有响应时,使用-dump或者-histo参数. 在这个模式下,live子参数无效.
- help:打印帮助信息
- J<flag>:指定传递给运行jmap的JVM的参数
三、jstack:查看某个Java进程内的线程堆栈信息
jstack主要用来查看某个Java进程内的线程堆栈信息。语法格式如下:
jstack [option] pid
参数如下:
- -l long listings,会打印出额外的锁信息,在发生死锁时可以用jstack -l pid来观察锁持有情况
- -m mixed mode,不仅会输出Java堆栈信息,还会输出C/C++堆栈信息(比如Native方法)
四、jstat:JVM统计监测工具
每隔1000ms打印一次记录,打印10次停止,每3行后打印指标头部
jstat -gc -h3 10 1000 10
五、hprof:展现CPU使用率,统计堆内存使用情况
六、Top:打印进程使用资源
相关推荐
bulargyzone 2020-10-26
csdnxingyuntian 2020-10-19
Locksk 2020-10-12
liufangbaishi0 2020-09-23
darlingtangli 2020-09-10
lxttiger 2020-08-18
coolrainman 2020-07-28
一支菜鸟 2020-07-27
zhouxihua0 2020-07-27
nangongyanya 2020-07-26
chenkai00 2020-07-26
voiletbin 2020-07-26
ChenRuiyz 2020-07-26
pbaabc 2020-07-23
nbfcome 2020-07-19
liufangbaishi0 2020-07-18
ChenRuiyz 2020-07-18
empireghost 2020-07-10
一支菜鸟 2020-07-06