我的服务器信息:
我jmap -heap pid用来打印堆信息:
Heap Configuration:
MinHeapFreeRatio = 40
MaxHeapFreeRatio = 70
MaxHeapSize = 21474836480 (20480.0MB)
NewSize = 21757952 (20.75MB)
MaxNewSize = 174456832
OldSize = 65404928 (62.375MB)
NewRatio = 7
SurvivorRatio = 8
PermSize = 268435456 (256.0MB)
MaxPermSize = 268435456 (256.0MB)
Run Code Online (Sandbox Code Playgroud)
以下是我为运行我的应用程序定义的JVM args:
-verbose:gc -XX:+UseMembar -XX:+PrintGCDetails -
XX:+PrintGCTimeStamps -XX:+DisableExplicitGC -
XX:+CMSClassUnloadingEnabled
-XX:-OmitStackTraceInFastThrow -Xloggc:/export/logs/gc.log
-XX:PermSize=256m -XX:MaxPermSize=256m -Xms6G -Xmx12G
Run Code Online (Sandbox Code Playgroud)
我没有设置MaxNewSize,我试图用来java -XX:+PrintFlagsFinal打印所有的JVM args,发现MaxNewSize是一个非常大的数字:18446744073709486080.我认为,人体工程学可能设置 …