CCS:这个区域存放 32位指针的Class,也就是压缩类空间,
默认开启 禁用写
-UseCompressedClassPointers
没启用就没有这个空间,开启默认1G
-XX:CompressedClassSpaceSize
设置大小每个对象都要指向自己class的指针,64位下这个指针是64位的,考虑性能 可以把指针用32位, 如果启用就会存放到CCS
CodeCache:存放JIT编译后的本地代码以及JNI使用的C/C++代码
vi ./bin/catalina.sh
jps -l查看当前Java进程
CCSC整个
CCSU已用
完全以编译的方式执行 就是运行过一次就变成native
完全以解释的方式执行
可以看到Metaspace 变小了 变小的部分就是CodeCache
-Xms -Xmx
堆内存:最小最大
-XX:NewSize
新生代大小
-XX:MaxNewSize
-XX:NewRatio
new:old
-XX:SurvivorRatio
eden:survivor
-XX:MetaspaceSize
Metaspace的大小
-XX:MaxMetaspaceSize
-XX: - UseCompressedClassPointers
关闭CCS
-XX:CompressedClassSpaceSize
设置CCS空间的大小,默认是一个G:
-XX:InitialCodeCacheSize
CodeCache的初始大小
10.设置CodeCache的最大值:
-XX:ReservedCodeCacheSize
11.设置多大的对象会被直接放进老年代:
-XX:PretenureSizeThreshold
12.长期存活的对象会被放入Old区,使用以下参数设置就可以设置对象的最大存活年龄:
-XX:MaxTenuringThreshold
注:如果设置为0的话,则年轻代对象不经过Survivor区,直接进入年老代。对于年老代比较多的应用,可以提高效率。如果将此值设置为一个较大值,则年轻代对象会在Survivor区进行多次复制,这样可以增加对象再年轻代的存活时间,增加在年轻代即被回收的概论,linux64的java6默认值是15:
13.设置Young区每发生GC的时候,就打印有效的对象的岁数情况:
-XX:+PrintTenuringDistribution
14.设置Survivor区发生GC后对象所存活的比例值:
-XX:TargetSurvivorRatio