-Xms:
初始堆内存。只要启动,就占用的堆大小。-Xmx:
最大堆内存。如果遇到 OutOfMemoryError 可以调大该数值,最大不要超过系统 1/4。-Xss:
栈大小分配。栈是每个线程私有的区域,通常只有几百K大小,决定了函数调用的深度,而局部变量、参数都分配到栈上。
当出现大量局部变量,递归时,会发生栈空间 OOM(java.lang.StackOverflowError)之类的错误。-XX:NewSize:
设置新生代大小的绝对值。-XX:NewRatio:
设置年轻代和年老代的比值。比如设置为3,则新生代:老年代=1:3,新生代占总 heap 的1/4。-XX:MaxPermSize:
设置持久代大小。
java.lang.OutOfMemoryError:PermGenspace 这个 OOM 错误需要合理调大 PermSize 和 MaxPermSize 大小。-XX:SurvivorRatio:
年轻代中 Eden 区与两个 Survivor 区的比值。注意,Survivor 区有 form 和 to 两个。比如设置为8时,那么 eden:form:to=8:1:1。-XX:HeapDumpOnOutOfMemoryError:
发生 OOM 时 dump 堆内容,这是一个非常好的诊断方法。-XX:HeapDumpPath:
导出堆的转储文件路径。-XX:OnOutOfMemoryError:
OOM 时,执行一个脚本,比如发送邮件报警,重启程序。后面跟着一个脚本的路径。
上一篇
可以提高千倍效率的 Java 代码小技巧
前言代码优化 ,一个很重要的课题。可能有些人觉得没用,一些细小的地方有什么好修改的,改与不改对于代码的运行效率有什么影响呢?这个问题我是这么考虑的,就像大海里面的鲸鱼一样,它吃一条小虾米有用吗?没用,但是,吃的小虾米一多之后,鲸鱼就被喂饱了
2019-10-11
下一篇
Java 集合之 Vector 源码分析
Vector 和 ArrayList 有一些相似,其内部都是通过一个容量能够动态增长的数组来实现的。不同点是 Vector 是线程安全的,因为其内部有很多同步代码快来保证线程安全。
简介java.util.Vector 实现了 java.u
2019-09-14