JVM参数之堆,栈,永久区

堆相关

-Xmx

最大堆

-Xms

最小堆

-Xmn

设置新生代大小

-XX:NewRatio

-新生代(eden+2*s)和老年代(不包含永久区)的比值
-4表示 新生代:老年代=1:4,即年轻代占堆的1/5

-XX:SurvivorRatio

设置两个Survivor区和eden区的比
8表示 两个Survivor:eden=2:8,即一个Survivor占年轻代的1/10

-XX:+HeapDumpOnOutOfMemoryError

OMM时导出堆到文件

-XX:HeapDumpPath=e:/a.dump

导出OMM文件的路径

-XX:OnOUtOfMemoryError

-在OMM时,执行一个脚本
"-XX:OnOutOfMemoryError=D:/tools/jdk1.8/bin/printstack.bat %p"

小结

官方推荐:新生代占堆的3/8
幸存代占1/10

栈相关

-Xss

  • 通常只有几百k
  • 决定了函数调用深度
  • 每个线程都有独立的栈空间
  • 局部变量,参数,分配在栈上

永久区

-XX:PermSize

-XX:MaxPermSize

一个系统可以容乃多少个类

猜你喜欢

转载自blog.csdn.net/weixin_34033624/article/details/87165506