<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    posts - 28,  comments - 15,  trackbacks - 0

     

    系統(tǒng)有時(shí)會(huì)遇到OutOfMemoryError,Java堆溢出了。我們需要找到造成OutOfMemoryError原因。一般有兩種情況:

    1、內(nèi)存泄露,對象已經(jīng)死了,無法通過垃圾收集器進(jìn)行自動(dòng)回收;

    2、內(nèi)存溢出,內(nèi)存中的對象都還必須存活著,這說明Java堆分配空間不足,檢查堆設(shè)置大小(-Xmx與-Xms),檢查代碼是否存在對象生命周期太長、持有狀態(tài)時(shí)間過長的情況。


    想在泄漏未發(fā)生前,取堆轉(zhuǎn)儲(chǔ)文件分析, 通過jvm參數(shù)-XX:+HeapDumpOnOutOfMemoryError(XX:+HeapDumpOnCtrlBreak不知道為什么tomcat啟動(dòng)不了)可以讓JVM在出現(xiàn)內(nèi)存溢出是Dump出當(dāng)前的內(nèi)存轉(zhuǎn)儲(chǔ)快照。

    當(dāng)然也可以通過用jmap生產(chǎn)dump文件。windows通過任務(wù)管理器查看tomcat的進(jìn)程pid,linux用ps命令查看進(jìn)程pid,然后用jmap命令(Java5:jmap -heap:format=b <pid>;Java6:jmap -dump:format=b,file=HeapDump.bin <pid>)

     

    在tomcat中設(shè)置jvm參數(shù)

    linux系統(tǒng)中

    1.打開/tomcat_home/bin/catalina.sh文件 

    2.加上:JAVA_OPTS="$JAVA_OPTS -server -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=D:\heapdump"

    如下圖位置:

    注:其中不設(shè)-XX:HeapDumpPath時(shí),dump出的文件在/tomcat_home/bin目錄下

    Windows系統(tǒng)中

    1.打開/tomcat_home/bin/catalina.bat文件

    2.加上:set JAVA_OPTS=%JAVA_OPTS% -server -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=D:\heapdump

    如下圖位置:

     

    分析dump出來的內(nèi)存快照文件


    可以使用分析工具進(jìn)行分析,如:

     

    Eclipse的MAT

    下載地址:http://www.eclipse.org/mat/downloads.php

    說明文檔:http://www.vogella.com/articles/EclipseMemoryAnalyser/article.html#example_project

     

    注意:解析過大的HeapDump可能導(dǎo)致Eclipse拋出OutOfMemory的錯(cuò)誤。這時(shí)你需要手動(dòng)調(diào)整Eclipse的緩存大小,可以參考官網(wǎng)給出的處理方式(原文連接

     

    Alternatively, edit the MemoryAnalyzer.ini to contain:

    -vmargs
    -Xmx2g
    -XX:-UseGCOverheadLimit

    Eclipse插件版打不開的朋友可以試試 RPC版的MAT (我的232m的dump文件也打不開,難道非得用64bit的機(jī)器嗎?):RPC版MAT下載地址

     

    JProfile

     

    等等;

    轉(zhuǎn)自:http://jiangsha.iteye.com/blog/1576355

    posted on 2013-03-18 16:53 zhangxl 閱讀(20325) 評(píng)論(2)  編輯  收藏 所屬分類: 優(yōu)化


    FeedBack:
    # re: tomcat 產(chǎn)生heapdump文件配置
    2014-01-23 15:19 | tyler
    我分析heapdump用的機(jī)器是16G內(nèi)存的。有一次還不得不打開磁盤交換。分析heapdump比產(chǎn)生heapdump消耗的內(nèi)存更多。  回復(fù)  更多評(píng)論
      
    # re: tomcat 產(chǎn)生heapdump文件配置
    2016-01-18 22:29 | 小龍?jiān)诰€
    如果不內(nèi)存溢出,heapdump目錄是不是空的?  回復(fù)  更多評(píng)論
      

    只有注冊用戶登錄后才能發(fā)表評(píng)論。


    網(wǎng)站導(dǎo)航:
     
    <2025年5月>
    27282930123
    45678910
    11121314151617
    18192021222324
    25262728293031
    1234567

    常用鏈接

    留言簿(1)

    隨筆分類(17)

    隨筆檔案(28)

    文章分類(30)

    文章檔案(30)

    相冊

    收藏夾(2)

    hibernate

    java基礎(chǔ)

    mysql

    xml

    關(guān)注

    壓力測試

    算法

    最新隨筆

    搜索

    •  

    積分與排名

    • 積分 - 96260
    • 排名 - 601

    最新評(píng)論

    閱讀排行榜

    評(píng)論排行榜

    主站蜘蛛池模板: 亚洲国产免费综合| 18国产精品白浆在线观看免费| 亚洲国产精品福利片在线观看| 香港a毛片免费观看| 亚洲国产AV无码一区二区三区| 亚洲中文字幕成人在线| 亚洲毛片免费视频| 边摸边吃奶边做爽免费视频99| 亚洲国产精品一区二区成人片国内| 男人的好免费观看在线视频| 九九免费精品视频在这里 | 亚洲日韩中文字幕天堂不卡 | 亚洲色中文字幕无码AV| 妻子5免费完整高清电视| rh男男车车的车车免费网站| 亚洲制服丝袜精品久久| 综合亚洲伊人午夜网| 成年女人男人免费视频播放| 免费无码又爽又刺激一高潮| 亚洲av成人中文无码专区| 亚洲一区二区三区夜色| 亚洲美女在线国产| A在线观看免费网站大全| 一个人免费视频观看在线www | 青娱分类视频精品免费2| caoporn国产精品免费| 亚洲综合国产成人丁香五月激情| 亚洲AV日韩精品久久久久| 亚洲国产精品自产在线播放| 日韩吃奶摸下AA片免费观看 | 我想看一级毛片免费的| 毛片无码免费无码播放| 一级女性全黄生活片免费看| 亚洲色成人网站WWW永久四虎| 亚洲综合一区二区国产精品| 中文字幕亚洲一区二区va在线| 成人免费无毒在线观看网站 | 亚洲av激情无码专区在线播放| 亚洲精品高清在线| 日韩一品在线播放视频一品免费| 久久久久av无码免费网|