MDA/MDD/TDD/DDD/DDDDDDD
          posts - 536, comments - 111, trackbacks - 0, articles - 0
            BlogJava :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理

          公告

          一些零碎的筆記,希望能對(duì)你有用處。


          搜索

          •  

          積分與排名

          • 積分 - 598175
          • 排名 - 80

          最新評(píng)論

          閱讀排行榜

          最近Web服務(wù)訪問量過大,由于服務(wù)器配置比較差,數(shù)量也較少,導(dǎo)致服務(wù)響應(yīng)過慢。為了優(yōu)化服務(wù)和提高響應(yīng),下面總結(jié)出幾條查詢Resin問題的方法。

          1、查看服務(wù)器網(wǎng)絡(luò)狀態(tài)TIME_WAIT的數(shù)量。

          #netstat -antp|grep -i time_wait|wc -l查看TIME_WAIT數(shù)量,如果數(shù)量過多,并且Resin前端還有Nginx或者Apache,那么請(qǐng)把socket-timeout、keepalive-max和把keepalive-timeout調(diào)小

          ????? <socket-timeout>30s</socket-timeout>
          ????? <keepalive-max>512</keepalive-max>
          ????? <keepalive-timeout>60s</keepalive-timeout>

          2、查看JVM中對(duì)象占用內(nèi)存情況

          jmap 能查看jvm內(nèi)存中,對(duì)象占用內(nèi)存的情況,還提供非常方便的命令將jvm的內(nèi)存信息導(dǎo)出的文件。

          #jmap -dump:format=b,file=heap.bin <pid>?

          命令jhat 能夠解析 java內(nèi)存堆的文件,生成相關(guān)信息,并啟動(dòng)webServer提供查詢。 也就說,我們可以通過瀏覽器來看這些內(nèi)存信息。jhat還提供了一個(gè)類sql的查詢語言---OQL來給我們使用。

          #jhat -J-Xmx512m heap.bin????

          就可以將我們剛剛使用jmap導(dǎo)出的內(nèi)存信息交給jhat解析了。默認(rèn)的情況下,它會(huì)監(jiān)聽7000端口。我在本機(jī)的地址就是,http://localhost:7000/。
          訪問http://localhost:7000/histo/,大致可以看到一下的畫面,這里列出對(duì)象,對(duì)象實(shí)例數(shù)量、總占用內(nèi)存大小。點(diǎn)擊進(jìn)去之后可以看到“誰引用了這個(gè)對(duì)象,這個(gè)對(duì)象又引用了哪個(gè)”這些信息。不過因?yàn)檎故镜男畔⒎浅6啵]有想象中那樣清晰可見。

          3、dump獲取java stack和native stack信息

          消息隊(duì)列會(huì)突然堵塞,查看消費(fèi)者日志,發(fā)現(xiàn)處理延時(shí)明顯延長,而此時(shí)網(wǎng)絡(luò)無丟包。最后多方排查,是java消費(fèi)者運(yùn)行出現(xiàn)死鎖。
          這種問題可以通過jstack來dump獲取java stack和native stack信息查明問題。

          #jstatck <pid>


          主站蜘蛛池模板: 绥德县| 阜阳市| 交城县| 区。| 蓬溪县| 郸城县| 五寨县| 衡南县| 会理县| 盘锦市| 东明县| 达孜县| 宜川县| 海城市| 榆社县| 长春市| 塔城市| 临漳县| 台南县| 威信县| 娄底市| 鄂尔多斯市| 神木县| 金坛市| 抚顺县| 改则县| 呼和浩特市| 奉化市| 和田市| 滨州市| 青铜峡市| 岗巴县| 綦江县| 陵水| 宜兴市| 江门市| 平江县| 自治县| 定州市| 陇南市| 三都|