持续创作,加速成长!这是我参与「掘金日新计划 · 10 月更文挑战」的第7天,点击查看活动详情
一些jvm状态相关命令
前文
本文内容为一些关于jvm相关状态查询的命令,其中只是一些最基础的操作及相关表现,其中存在诸多不全面之处。个人总结,进攻参考。
jps
- jps的主要作用是进行java进程的主要信息查询,查询的内容会包含进程号、class类信息等等内容。根据命令的ps联想linux系统中ps命令,也是对于进程数据的查询。
- 命令使用方式:jps -mlvV
jstat
- jstat命令主要是查看java进程统计类的相关信息。包括类的加载、编译相关统计信息、各个区域的gc概况和统计:包括新生代、老年代以及新生代中的eden、s1和s2区,以及老年代中的使用情况信息等等。根据命令名字很很显然,stat主要是进行状态的查询。
- 命令使用方式:jstat -gc 1182,其中1182是利用jps得到的进程号。
jinfo
- jinfo命令主要是查看进程的运行参数,包括启动时的各种jvm参数等等。根据info也可以看出,主要是进行进程信息查询。
- 命令使用方式:jinfo 1182,其中1182是利用jps得到的进程号。
jmap
- jmap命令查看java进程的内存信息,把jvm的内存信息输出到文件,再进行图像化的分析。map可以产生与内存相关的联想。
- 命令使用方式:jmap -heap 1182,其中1182是利用jps得到的进程号。
jstack
- jstack命令主要是进行java线程信息的查询。在某些情况下线程中可能产生死锁,我们可以通过这个命令进行死锁的排查。stack本意也会容易联想到这是与栈相关的命令,也就是线程。
- 命令使用方式:jstack 1182,其中1182是利用jps得到的进程号。
后记
- 千古兴亡多少事?悠悠。不尽长江滚滚流。