美文网首页
2021-10-23

2021-10-23

作者: hangjun | 来源:发表于2021-10-23 23:20 被阅读0次

    1.JVM虚拟机的组成

    1.1类装载子系统

    1.2.字节码执行引擎

    1.3.内存模型

    堆:

    堆:对象

    堆=年轻代(1/3)+年老代(2/3)
    年轻代=eden(8/10)+s0(1/10)+s1(1/10)

    方法区(元空间):类信息、常量池、静态变量

    本地方法栈:c++的方法
    程序计数器:每一个线程独有一个程序计数器,供gc的时候要暂定使用STW
    线程栈:局部变量表、操作数栈、动态链接、返回方法

    2.设置jvm参数

    Java -Xms2048M -Xmx2048M -Xmn1024M -Xss512K -XX:MetaspaceSize=256M -XX:MaxMetaspaceSize=256M -jar eureka-server.jar
    

    各参数解释:自行百度

    3.minor gc和full gc

    自行百度

    4.查看gc的情况

    jstat -gc pid 5000
    jstat -gcutil pid 5s

    https://www.cnblogs.com/qmfsun/p/5601734.html

    显示内容说明如下(部分结果是通过其他其他参数显示的,暂不说明):
    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 : 最大持有次数限制

    5.安装jvisualvm

    https://blog.csdn.net/shuai825644975/article/details/78970371
    https://blog.csdn.net/sjmz30071360/article/details/89456177

    相关文章

      网友评论

          本文标题:2021-10-23

          本文链接:https://www.haomeiwen.com/subject/lvnlaltx.html