PermSize 设置过小对性能的影响(OutOfMemoryError:PermGen spac)
【現(xiàn)象】:應(yīng)用更新新版本后,其中一臺機出現(xiàn)了較多的重啟現(xiàn)象。
【原因分析】:
分析應(yīng)用日志,發(fā)現(xiàn)有OutOfMemoryError:PermGen space,此報錯說明 PermSize 設(shè)置過小,沒有足夠的內(nèi)存使用。
【解決方案】:
修改JVM配置,配置上
<jvm-arg>-XX:PermSize=128m</jvm-arg>
<jvm-arg>-XX:MaxPermSize=128m</jvm-arg>
說明:JVM的Perm區(qū)主要用于存放Class和Meta信息的,Class在被Loader時就會被放到PermGen space,這個區(qū)域成為年老代,GC在主程序運行期間不會對年老區(qū)進行清理,默認是64M大小的,當程序需要加載的對象比較多時,超過64M就會報這部分內(nèi)存溢出了,需要加大內(nèi)存分配,一般128m足夠。
還有一種直接報java.lang.OutOfMemoryError的,這種情況一般是jvm最大和最小內(nèi)存分配配置有問題,最小內(nèi)存分配過小,GC頻率高,降低jvm性能,但最小內(nèi)存也不能無限增大,最小內(nèi)存增大,GC頻率低了,但其執(zhí)行時間會加長,GC執(zhí)行期間,java程序是不處理其他請求的,因此將最小內(nèi)存xms和最大內(nèi)存xmx設(shè)置一樣大,xmn值設(shè)置約為xmx的1/3.
轉(zhuǎn)載于:https://blog.51cto.com/zhouanya/1370075
總結(jié)
以上是生活随笔為你收集整理的PermSize 设置过小对性能的影响(OutOfMemoryError:PermGen spac)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 大前端晋级系列之-策略模式
- 下一篇: 对话框界面编程的一些经验总结