5fcb466c300275757.jpg_fo742.png
GC(GarbageCollection)不会在主程序运行期对永久域进行清理。

各主要参数的作用如下 :
-Xms:设置jvm内存的初始大小
-Xmx:设置jvm内存的最大值
-Xmn:设置新域的大小(这个似乎只对 jdk1.4来说是有效的,后来就废弃了)
-Xss:设置每个线程的堆栈大小(也就是说,在相同物理内存下,减小这个值能生成更多的线程)
-XX:NewRatio :设置新域与旧域之比,如-XX:NewRatio = 4就表示新域与旧域之比为1:4
-XX:NewSize:设置新域的初始值
-XX:MaxNewSize :设置新域的最大值
-XX:PermSize:设置永久域的初始值
-XX:MaxPermSize:设置永久域的最大值
-XX:SurvivorRatio=n:设置新域中Eden区与两个Survivor区的比值。(Eden区主要是用来存放新生的对象,而两个 Survivor区则用来存放每次垃圾回收后存活下来的对象)

java.lang.OutOfMemoryError:Java heap space和java.lang.OutOfMemoryError: PermGenspace,其中前者是有关堆内存的内存溢出,可以同过配置-Xms和-Xmx参数来设置,而后者是有关永久域的内存溢出,可以通过配置 -XX:MaxPermSize来设置。

4 对 “JVM参数优化”的想法;

  1. -Djava.rmi.server.hostname=10.165.22.115
    -Dcom.sun.management.jmxremote
    -Dcom.sun.management.jmxremote.port=”9090″
    -Dcom.sun.management.jmxremote.authenticate=”false”
    -Dcom.sun.management.jmxremote.ssl=”false”
    -XX:+UseConcMarkSweepGC
    -Xms4096m
    -Xmx6144m
    -Xmn2048m
    -XX:SurvivorRatio=4
    -XX:PermSize=64M
    -XX:MaxPermSize=128M
    -XX:ReservedCodeCacheSize=64M
    -XX:NewSize=128M
    -Xloggc:d:gcgc.log

  2. MC & MU & CCSC & CCSU

    MC表示Klass Metaspace以及NoKlass Metaspace两者总共committed的内存大小,单位是KB,虽然从上面的定义里我们看到了是capacity,但是实质上计算的时候并不是capacity,而是committed,这个是要注意的

    MU这个无可厚非,说的就是Klass Metaspace以及NoKlass Metaspace两者已经使用了的内存大小

    CCSC表示的是Klass Metaspace的已经被commit的内存大小,单位也是KB

    CCSU表示Klass Metaspace的已经被使用的内存大小

    M & CCS

    M表示的是Klass Metaspace以及NoKlass Metaspace两者总共的使用率,其实可以根据上面的四个指标算出来,即(CCSU+MU)/(CCSC+MC)

    CCS表示的是NoKlass Metaspace的使用率,也就是CCSU/CCSC算出来的

    PS:所以我们有时候看到M的值达到了90%以上,其实这个并不一定说明metaspace用了很多了,因为内存是慢慢commit的,所以我们的分母是慢慢变大的,不过当我们committed到一定量的时候就不会再增长了

    MCMN & MCMX & CCSMN & CCSMX

    MCMN和CCSMN这两个值大家可以忽略,一直都是0

    MCMX表示Klass Metaspace以及NoKlass Metaspace两者总共的reserved的内存大小,比如默认情况下Klass Metaspace是通过CompressedClassSpaceSize这个参数来reserved 1G的内存,NoKlass Metaspace默认reserved的内存大小是2* InitialBootClassLoaderMetaspaceSize

    CCSMX表示Klass Metaspace reserved的内存大小

    综上所述,其实看metaspace最主要的还是看MC,MU,CCSC,CCSU这几个具体的大小来判断metaspace到底用了多少更靠谱

回复 Nova 取消回复

您的电子邮箱地址不会被公开。 必填项已用*标注

Captcha Code