中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Tomcat運行Java Web內存溢出的示例分析

發布時間:2021-12-11 14:01:12 來源:億速云 閱讀:230 作者:小新 欄目:編程語言

這篇文章主要介紹Tomcat運行Java Web內存溢出的示例分析,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!

如果JVM里運行的程序, 它的內存堆和持久存儲區域的都滿了,這個時候程序還想創建對象實例的話,垃圾收集器就會啟動,試圖釋放足夠的內存來創建這個對象。這個時候如果垃圾收集器 沒有能力釋放出足夠的內存,它就會拋出OutOfMemoryError內存溢出錯誤。

SUN JVM的內存管理方式:

SUN的JVM是類似人類家族,也就是在一個地方創建對象,在它長期占據空間之前給它多次死亡的機會,SUN JVM會劃分為:

1. 年輕的一代(Young generation),包括EDEN和2個幸存者空間(出發地和目的地the From space and the To space)

2. 老一代(Old generation)

3. ***的一代(Permanent generation)

Java虛擬機的運行時數據區一般分類如下(不一定是物理劃分):

1. 堆:主要存放對象實例,線程共享

2. 棧:主要存儲特定線程的方法調用狀態,線程獨占

3. 本地方法棧:存儲本地方法的調用狀態,線程獨占

4. PC寄存器:學過操作系統課程的都知道,線程獨占

5. 方法區:主要存儲了類型信息,線程共享

因此,在拋出內存溢出錯誤的時候,一般都會提示內存泄露的種類,一般也都是按照區域進行劃分:

1. 堆(heap)內存泄漏java.lang.OutOfMemoryError: Javaheap space:大家都比較熟悉 ,通過設置-Xms2048m -Xmx4096m可以解決

2. 棧(stack)內存泄漏:當前線程運行期間維護的中間變量等信息過多,例如常見的死循環引起stack over flow

3. 方法區(permanent heap)內存泄漏,即java.lang.OutOfMemoryError: PermGen space:發生的原因和類型裝載、類型卸載有直接的關系,通過設置-XX:MaxNewSize=256m -XX:MaxPermSize=256m可以解決。

一般情況下,當服務器內存過小,而提供了大量的訪問服務時,可能會緩存過多的數據對象造成堆內存溢出,當web應用不斷擴大,加載的lib庫達到一定大小(4M)后,就容易報PermGen OOM,也就是方法區溢出。

在Linux服務器中將參數寫入環境變量:

export CATALINA_OPTS="-Xms2048m -Xmx4096m" export JAVA_OPTS="-XX:MaxNewSize=256m -XX:MaxPermSize=256m"

Xmx ***不要超過服務器物理內存的80%

以上是“Tomcat運行Java Web內存溢出的示例分析”這篇文章的所有內容,感謝各位的閱讀!希望分享的內容對大家有幫助,更多相關知識,歡迎關注億速云行業資訊頻道!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

清苑县| 舞阳县| 六安市| 磐石市| 虹口区| 扎赉特旗| 肃宁县| 惠水县| 福州市| 临汾市| 安宁市| 鹤岗市| 锦屏县| 通州市| 阿坝县| 玉树县| 宝清县| 广昌县| 绵竹市| 当雄县| 罗城| 囊谦县| 闻喜县| 五原县| 和顺县| 巴林左旗| 油尖旺区| 布尔津县| 永善县| 龙州县| 中阳县| 丽江市| 无锡市| 揭东县| 杭锦后旗| 宜良县| 溧阳市| 尼玛县| 新巴尔虎左旗| 天气| 吉安市|