• Java 之GC常用命令


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

    ## ps -ef|grep java

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

    3、jstat -gcutil pid 5000 ,以5秒的维度输出对应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: 从应用程序启动到当前,用于垃圾回收的总时间【单位秒】
    

    结果说明

    标志
    说明
    S0C
    年轻代中第一个survivor区的容量 (字节)
    S1C
    年轻代中第二个survivor区的容量 (字节)
    S0U
    年轻代中第一个survivor区目前已使用空间 (字节)
    S1U
    年轻代中第二个survivor区目前已使用空间 (字节)
    EC
    年轻代中Eden的容量 (字节)
    EU
    年轻代中Eden目前已使用空间 (字节)
    OC
    Old代的容量 (字节)
    OU
    Old代目前已使用空间 (字节)
    PC
    Perm(持久代)的容量 (字节)
    PU
    Perm(持久代)目前已使用空间 (字节)
    YGC
    从应用程序启动到采样时年轻代中gc次数
    YGCT
    从应用程序启动到采样时年轻代中gc所用时间(s)
    FGC
    从应用程序启动到采样时old代(全gc)gc次数
    FGCT
    从应用程序启动到采样时old代(全gc)gc所用时间(s)
    GCT
    从应用程序启动到采样时gc用的总时间(s)
    NGCMN
    年轻代(young)中初始化(最小)的大小 (字节)
    NGCMX
    年轻代(young)的最大容量 (字节)
    NGC
    年轻代(young)中当前的容量 (字节)
    OGCMN
    old代中初始化(最小)的大小 (字节)
    OGCMX
    old代的最大容量 (字节)
    OGC
    old代当前新生成的容量 (字节)
    PGCMN
    perm代中初始化(最小)的大小 (字节)
    PGCMX
    perm代的最大容量 (字节)  
    PGC
    perm代当前新生成的容量 (字节)
    S0
    年轻代中第一个survivor区已使用的占当前容量百分比
    S1
    年轻代中第二个survivor区已使用的占当前容量百分比
    E
    年轻代中Eden已使用的占当前容量百分比
    O
    old代已使用的占当前容量百分比
    P
    perm代已使用的占当前容量百分比
    S0CMX
    年轻代中第一个survivor区的最大容量 (字节)
    S1CMX
    年轻代中第二个survivor区的最大容量 (字节)
    ECMX
    年轻代中Eden的最大容量 (字节)
    DSS
    当前需要survivor区的容量 (字节)(Eden区已满)
    TT
    持有次数限制
    MTT
    最大持有次数限制

    4、主动触发FullGC:

    ## jmap -histo:live pid

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

    ## jinfo pid

    6、堆栈使用情况:

    ## jmap -F -heap pid

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

    8、使用jstack分析线程状态,可以按照如下步骤命令:

        (1)可以通过top命令查看各个进程的cpu使用情况,默认按cpu使用率排序
        (2)找到占用cpu较高的pid
        (3)可以查看该进程下各个线程的cpu使用情况:top -Hp pid
        (4)输出对应pid十六进制:printf "%x
    " 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    *   

  • 相关阅读:
    sql的ROWCOUNT的说明。
    引用: 把new、virtual、override说透
    我要在左边的FRAME1里调用右边的FRAME2的JAVASCRIPT函数
    webconfig设置用户控件配置。
    2个Frame用ID标记没用, 用NAME标记有用。 查询BAIDU,如下。
    HttpWebRequest加载证书请求远端https服务器时 : 基础连接已经关闭: 无法与远程服务器建立信任关系
    SELECT 与 SET 对变量赋值的区别(存储过程)
    Ajax小示例
    My97Date 有一个功能强大的时间控件
    Tomcat6.0 管理界面的配置
  • 原文地址:https://www.cnblogs.com/NGU-PX/p/14261488.html
Copyright © 2020-2023  润新知