您的位置:首页 > 其它

web服务启动jvm参数简单配置

2016-07-21 11:47 489 查看
-Xmx4G -Xms4G -Xmn1G -Xss256k -XX:PermSize=256M -XX:MaxPermSize=256m -XX:+UseParNewGC
-XX:+UseConcMarkSweepGC -XX:+CMSClassUnloadingEnabled
-XX:+DisableExplicitGC -XX:+ExplicitGCInvokesConcurrent
-XX:+ExplicitGCInvokesConcurrentAndUnloadsClasses -verbose:gc -XX:+PrintGCTimeStamps
-XX:+PrintGCDetails -Xloggc:/export/gc/gc.log -XX:-OmitStackTraceInFastThrow
-XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/export/java_mem.dump

//JDK 1.5
需要配置CMSPermGenSweepingEnabled

//JDK 1.6之后
配置CMSClassUnloadingEnabled,对永久代进行垃圾回收,上面的配置已经没有了

//启动会提示
Please use CMSClassUnloadingEnabled in place of CMSPermGenSweepingEnabled in the future

如果要分配的内存>=Eden区大小的一半,那么会直接把要分配的内存放入老年代中。

-XX:PretenureSizeThreshold:设置大对象直接进入老年代的阈值,当对象的大小超过这个值将直接分配在老年代。
-XX:MaxTenuringThreshold:设置对象进入老年代的年龄,默认值时15,但是如果空间不够,还是会将对象移到老年代。

使用 jmap -heap pid查看:

Attaching to process ID 1540, please wait…
Debugger attached successfully.
Server compiler detected.
JVM version is 14.2-b01

using parallel threads in the new generation.
using thread-local object allocation.
Concurrent Mark-Sweep GC

Heap Configuration:
MinHeapFreeRatio = 40
MaxHeapFreeRatio = 70
MaxHeapSize = 4294967296 (4096.0MB) 最大堆内存4G
NewSize = 1073741824 (1024.0MB) 新生代大小1G
MaxNewSize = 1073741824 (1024.0MB) 最大新生代1G
OldSize = 3221225472 (3072.0MB)
NewRatio = 7 由于设置了-Xmn,该参数无效了
SurvivorRatio = 8 S0+S1+Eden占比 = 1+1+8 = 1G
PermSize = 134217728 (128.0MB) 初始非堆内存,持久代128M
MaxPermSize = 268435456 (256.0MB) 最大持久代256M

Heap Usage:
New Generation (Eden + 1 Survivor Space):
capacity = 966393856 (921.625MB)
used = 824721968 (786.5161590576172MB)
free = 141671888 (135.1088409423828MB)
85.34015017578919% used
Eden Space:
capacity = 859045888 (819.25MB) Eden=819M
used = 824721968 (786.5161590576172MB)
free = 34323920 (32.73384094238281MB)
96.0044136780735% used
From Space:
capacity = 107347968 (102.375MB) S0=102M
used = 0 (0.0MB) 使用0
free = 107347968 (102.375MB)
0.0% used
To Space:
capacity = 107347968 (102.375MB) S1=102M
used = 0 (0.0MB) 使用0
free = 107347968 (102.375MB)
0.0% used
concurrent mark-sweep generation:
capacity = 3221225472 (3072.0MB)
used = 2072432 (1.9764251708984375MB)
free = 3219153040 (3070.0235748291016MB)
0.06433675686518352% used
Perm Generation:
capacity = 134217728 (128.0MB)
used = 39508104 (37.67786407470703MB) 持久代使用37M
free = 94709624 (90.32213592529297MB)
29.435831308364868% used
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  jvm gc