查看进程/JVM信息命令:jstat、jmap、jstack、ps、top等

本文详细介绍了JDK自带的监控工具,如jstat、jmap、jstack等,用于实时监控Java应用程序的资源和性能,包括Heapsize、垃圾回收、内存内容、线程堆栈信息等,帮助开发者有效诊断和优化程序。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、jstat命令

JDK自带的轻量级小工具,主要利用JVM内建的指令对Java应用程序资源和性能进行实时的监控,包括对Heap size垃圾回收状况监控。

  • jstat -class PId:显示加载class的数量,及所占空间等信息,class是在方法区

    显示列名

    具体描述

    Loaded

    装载的类的数量

    Bytes

    装载类所占用的字节数

    Unloaded

    卸载类的数量

    Bytes

    卸载类的字节数

    Time

    装载和卸载类所花费的时间

  • jstat -gc <pid>: 可以显示gc的信息,查看gc的次数,及时
显示列名具体描述
S0C 年轻代中第一个survivor(幸存区)的容量 (字节)
S1C 年轻代中第二个survivor(幸存区)的容量 (字节)
S0U 年轻代中第一个survivor(幸存区)目前已使用空间 (字节)
S1U 年轻代中第二个survivor(幸存区)目前已使用空间 (字节)
EC 年轻代中Eden(伊甸园)的容量 (字节)
EU  年轻代中Eden(伊甸园)目前已使用空间 (字节)
OCOld代的容量 (字节)
OU Old代目前已使用空间 (字节)
MC 元空间的容量 (字节)
MU元空间目前已使用空间
YGC从应用程序启动到采样时年轻代中gc次数
YGCT 从应用程序启动到采样时年轻代中gc所用时间(s)
FGC从应用程序启动到采样时old代(全gc)gc次数
FGCT 从应用程序启动到采样时old代(全gc)gc所用时间(s)
GCT从应用程序启动到采样时gc用的总时间(s)
  • jstat -gccapacity <pid>:可以显示,VM内存中三代(young,old,perm)对象的使用和占用大小
  • jstat -gcutil <pid>:统计gc信息,显示信息与上表格类似。

2、jmap命令:主要查看内存中内容

  • jmap -heap <pid>  通过-heap选项,打印java堆的配置情况和使用情况,还有使用的GC算法(CMS)
  • jmap -finalizerinfo <pid>:通过-finalizerinfo选项,打印那些正在等待执行finalize方法的对象。
  • jmap -histo[:live] <pid> :通过histo选项,打印当前java堆中各个对象的数量、大小。
    如果添加了live,只会打印活跃的对象。

3、jstack命令:

  • jstack pid:查看该进程下的线程堆栈信息。

4、PS命令:

process status:ps命令用来列出系统中当前运行的那些进程。ps命令列出的是当前那些进程的快照,就是执行ps命令的那个时刻的那些进程,如果想要动态的显示进程信息,就可以使用top命令。

5、top命令:

可以监视系统中不同的进程所使用的资源。它提供实时的系统状态信息,PID、进程属主、优先级、%CPU、%memory

 

 

 

 

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值