Java命令行监控工具(jmap,jstack,jstat,jinfo,jps)(转载)

之前并不知道有这东西,本吊太垃圾了,没办法。

jps
查看系统中jvm进程, 其它的命令通常先使用jps查看进程号,然后在根据线程号获取jvm进程信息

jps -m 查看jvm进程并且带有参数查看
jps -v 查看传递到jvm的参数

jstat
显示JVM的性能统计信息,
常见用法:jstat - [-t] [-h] [ []]
例如:查看JIT编译信息,GC信息和JVM中的class信息。
image.png

解释下-gc选项中列的含义:-gc查看垃圾收集器中的信息, 主要包含jvm的运行时数据区统计。
后缀为C的代表当前区的容量,后缀为U的代表已经使用了多少容量,后缀为T的代表耗时

S0C 存活区0的容量(KB)
S1C 存活区1的容量(KB)
S0U 存活区0使用的空间 (KB).
S1U 存活区1的利用空间 (KB).
EC Eden区的容量(KB).
EU Eden区利用的容量(KB).
OC 老年代容量(KB).
OU 老年代使用容量(KB).
PC 当前永久带的容量(KB).
PU 永久带使用容量(KB).
YGC 发生了多少次Young GC
YGCT Young GC的时间
FGC Full GC的次数
FGCT Full GC的收集时间
GCT 总共的GC时间.

jstack
查看线程堆栈信息,在发生死锁的时候可以利用这个命令查找死锁或者在发生死循环的时候利用此命令排查。

jinfo查看JVM启动时候设置的参数值
jinfo可以查看当前JVM线程配置的系统属性,以及运行时设置的参数值。

jmap分析堆
在发生OME的时候,会用jmap分析堆中具体是什么问题,才能更好的解决问题。jmap一般和mat配合使用。

一般在java开发的项目启动时候,最好加上下面命令,在内存溢出的时候可以通过日志查看信息。
-XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/java/dump

当然在项目运行的时候也可以使用jmap -heap jvmpid查看对象内存的映射。

非原创,只是链接失效记录部分内容,这部分内容的时间和深入理解Java虚拟机 一起学习感觉比较好

转载链接:https://www.imooc.com/article/43355

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值