<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)存泄露,對(duì)象已經(jīng)死了,無(wú)法通過(guò)垃圾收集器進(jìn)行自動(dòng)回收;

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


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

    當(dāng)然也可以通過(guò)用jmap生產(chǎn)dump文件。windows通過(guò)任務(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.打開(kāi)/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.打開(kāi)/tomcat_home/bin/catalina.bat文件

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

    如下圖位置:

     

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


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

     

    Eclipse的MAT

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

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

     

    注意:解析過(guò)大的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插件版打不開(kāi)的朋友可以試試 RPC版的MAT (我的232m的dump文件也打不開(kāi),難道非得用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)存的。有一次還不得不打開(kā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)論
      

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


    網(wǎng)站導(dǎo)航:
     
    <2014年1月>
    2930311234
    567891011
    12131415161718
    19202122232425
    2627282930311
    2345678

    常用鏈接

    留言簿(1)

    隨筆分類(17)

    隨筆檔案(28)

    文章分類(30)

    文章檔案(30)

    相冊(cè)

    收藏夾(2)

    hibernate

    java基礎(chǔ)

    mysql

    xml

    關(guān)注

    壓力測(cè)試

    算法

    最新隨筆

    搜索

    •  

    積分與排名

    • 積分 - 96306
    • 排名 - 601

    最新評(píng)論

    閱讀排行榜

    評(píng)論排行榜

    主站蜘蛛池模板: 亚洲av日韩av无码| 久久国产福利免费| 亚洲成av人片天堂网| 日本人的色道www免费一区| 久久永久免费人妻精品下载| 一级a性色生活片久久无少妇一级婬片免费放 | 国产精品福利片免费看| 亚洲精品无码mⅴ在线观看| 99久久亚洲综合精品成人网| 久久久久国产成人精品亚洲午夜 | 亚洲爆乳精品无码一区二区三区 | 亚洲熟女综合一区二区三区| 亚洲精品高清视频| 亚洲午夜精品一级在线播放放| 成人人观看的免费毛片| 四虎1515hh永久久免费| 免费无码又爽又刺激高潮视频 | 亚洲熟女乱综合一区二区| 日韩视频在线免费观看| 精品久久久久国产免费| 国产成人免费午夜在线观看| 久久免费视频99| 久久成人a毛片免费观看网站| 9久久免费国产精品特黄| 一级毛片视频免费| 免费国产黄网站在线看| 牛牛在线精品观看免费正| 老司机精品视频免费| 国产精品亚洲专一区二区三区| 亚洲国产成人久久一区二区三区| 亚洲一区二区三区高清不卡 | 99re在线精品视频免费| 日本在线免费观看| 13小箩利洗澡无码视频网站免费| 成人无码视频97免费| A级毛片成人网站免费看| 十八禁在线观看视频播放免费| 中文无码日韩欧免费视频| 高清永久免费观看| 久章草在线精品视频免费观看| 香港a毛片免费观看|