您好,登錄后才能下訂單哦!
【現象】:應用更新新版本后,其中一臺機出現了較多的重啟現象。
【原因分析】:
分析應用日志,發現有OutOfMemoryError:PermGen space,此報錯說明 PermSize 設置過小,沒有足夠的內存使用。
【解決方案】:
修改JVM配置,配置上
<jvm-arg>-XX:PermSize=128m</jvm-arg>
<jvm-arg>-XX:MaxPermSize=128m</jvm-arg>
說明:JVM的Perm區主要用于存放Class和Meta信息的,Class在被Loader時就會被放到PermGen space,這個區域成為年老代,GC在主程序運行期間不會對年老區進行清理,默認是64M大小的,當程序需要加載的對象比較多時,超過64M就會報這部分內存溢出了,需要加大內存分配,一般128m足夠。
還有一種直接報java.lang.OutOfMemoryError的,這種情況一般是jvm最大和最小內存分配配置有問題,最小內存分配過小,GC頻率高,降低jvm性能,但最小內存也不能無限增大,最小內存增大,GC頻率低了,但其執行時間會加長,GC執行期間,java程序是不處理其他請求的,因此將最小內存xms和最大內存xmx設置一樣大,xmn值設置約為xmx的1/3.
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。