1 . PermGen space
全稱是Permanent Generation space,是指內存的永久保存區域.
用於存放,Class和Meta的信息,Class在被 Load的時候被放入PermGen space區域.所以當我們的應用服務器在啓動的時候會加載很多的CLASS的時候會出現OutOfMemoryError: PermGen spac的錯誤. 解決方法自然也就是要加大應用服務器在jvm啓動時候所需要初始化的perGen space的size 了,一般是在應用服務器的啓動參數的jvm配置中加入 :
-XX:MaxNewSize=256m -XX:MaxPermSize=256m
2. Heap space
Heap psace與permGen區域存放的東西不同,主要是存放java運行時產生的對象,他們是GC(Garbage Collection)在運行期間會定時進行清理的.所以當在JVM中如果98%的時間是用於GC且可用的Heap size 不足2%的時候將拋出"java.lang.OutOfMemoryError: Java heap space
"的錯誤.原因是對象的產生上限以達到jvm的上限 . 解決辦法自然是設置更大的jvm的heap space size:
這就是爲什麼我們要在應用服務器的jvm啓動參數上加上 -Xms256m -Xmx256m 參數的原因.
heap space 和 permgen space 溢出的簡單解決方法和原理筆記
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章
Java项目面试实操 提升大厂面试成功率
wy53780
2020-04-23 14:14:04
玩转算法系列--图论精讲 面试升职必备(Java版)
wy53780
2020-04-23 14:03:23
玩转Java并发工具,精通JUC,成为并发多面手
wy53780
2020-04-23 13:56:08
线程八大核心+Java并发底层原理精讲(Java并发核心知识体系精讲)
wy53780
2020-04-23 13:55:55
Java通用型支付+电商平台双系统实战
wy53780
2020-04-23 13:54:42
【躍遷之路】【734天】程序員高效學習方法論探索系列(實驗階段491-2019.2.24)
Wall_Breaker
2019-02-24 23:25:10
Java是怎麼運行的?
勤思
2019-02-24 22:52:36
sql語法、關係建模
死瘦宅
2019-02-24 22:35:22
MySQL 事務、函數、觸發器、數據庫備份、權限管理
死瘦宅
2019-02-24 22:35:12
Python與家國天下
豌豆花下貓
2019-02-24 22:22:40
Java面試 | 002
Java貓說
2019-02-24 21:05:12
《從0到1學習Flink》—— Flink 讀取 Kafka 數據批量寫入到 MySQL
zhisheng
2019-02-24 21:04:11
Redis | 001能做什麼?
Java貓說
2019-02-24 21:03:51
java中具有繼承關係的類及其對象初始化順序
Linus脫襪子
2019-02-24 19:55:05