Java GC常用命令汇总

1、查看java进程:ps -ef|grep java
    使用该命令可以详细的查出对应的java进程详细信息

2、使用jps命令,可以列出本机所有java进程的pid

3、jstat -gcutil pid 5000 ,以5秒的维度输出对应java进成的GC情况

Java GC常用命令汇总
    参数说明如下:
    S0: 新生代中Survivor space 0区已使用空间的百分比
    S1: 新生代中Survivor space 1区已使用空间的百分比
    E: 新生代已使用空间的百分比
    O: 老年代已使用空间的百分比
    P: 永久带已使用空间的百分比
    YGC: 从应用程序启动到当前,发生Yang GC 的次数
    YGCT: 从应用程序启动到当前,Yang GC所用的时间【单位秒】
    FGC: 从应用程序启动到当前,发生Full GC的次数
    FGCT: 从应用程序启动到当前,Full GC所用的时间
    GCT: 从应用程序启动到当前,用于垃圾回收的总时间【单位秒】

4、主动触发FullGC:jmap -histo:live pid

5、获取jvm配置详细信息命令:jinfo pid

6、堆栈使用情况:jmap -F -heap pid

Java GC常用命令汇总

7、对应进程对象占用较多的取30个:jmap -histo:live 524660 | head -30 

Java GC常用命令汇总

8、使用jstack分析线程状态,可以按照如下步骤命令:
    (1)、可以通过top命令查看各个进程的cpu使用情况,默认按cpu使用率排序
    (2)、找到占用cpu较高的pid
    (3)、可以查看该进程下各个线程的cpu使用情况:top -Hp pid
    (4)、输出对应pid十六进制:printf "%x\n" pid
    (5)、查看该线程堆栈:jstack -l 310962 | grep pid的十六进制数据 -A20
    (6)、也可以使用如下命令查看详细信息:jstack -l 310962 | more

9、jmap输出dump文件,用来对应分析详细信息
    jmap -dump:live,format=b,file=heap4.hprof pid

10、可能会用到的查看当前文件夹容量的命令:du   -sh    *