老熟女激烈的高潮_日韩一级黄色录像_亚洲1区2区3区视频_精品少妇一区二区三区在线播放_国产欧美日产久久_午夜福利精品导航凹凸

重慶分公司,新征程啟航

為企業提供網站建設、域名注冊、服務器等服務

如何用jvm程序執行慢診斷手冊

本篇內容介紹了“如何用jvm程序執行慢診斷手冊”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!

成都做網站、成都網站設計服務團隊是一支充滿著熱情的團隊,執著、敏銳、追求更好,是創新互聯的標準與要求,同時竭誠為客戶提供服務是我們的理念。創新互聯把每個網站當做一個產品來開發,精雕細琢,追求一名工匠心中的細致,我們更用心!

生產環境最多的幾種事故之一就是程序執行慢,如果是web服務的話,表現就是響應時間長。本文分享,從業多年形成的排查守則。

診斷步驟

系統資源查看

首先是系統資源查看,而且必須是在第一步。因為很多事故都是最開始慢后面就會出現卡死,被系統殺死,程序拋出異常結束等等情況,當時的狀態沒法保存下來,不行進行復盤,所以第一步先查看系統的資源,如果出現緊張情況,趕緊把狀態保存。

top命令

查看基本就是top命令,可以看到系統cpu,內存等資源情況。經過查看系統資源大概可以分為以下情況。

問題:cpu使用率過高。

如果發現cpu成為了瓶頸的話,必須馬上進行線程情況和當時cpu占用情況的保存。在糟糕的情況下,cpu可能被占滿,那時候ssh都登錄不上去了,就沒法獲取當時的情況。

使用top -Hp pid獲取線程cpu使用率高的tid
printf "%x\n" tid,獲取線程id的16進制主要是為了在jstack中查看
jstack pid|grep tid(16)

然后就會把線程cpu使用率特別高的線程棧打出來,然后可以分析這段邏輯了。

內存使用率過高或者沒有系統資源占用過高

jmap -dump:format=b,file=heapdump.bin pid

這里必須打dump的原因是res過高,可能出發系統的oom killer,進程可能被系統殺死,此時不獲取,可能進程就會被殺死了。如果不是系統資源問題,堆dump以后也是要用的。

堆占用查看

jstat -gc -h 10 pid 1000
jstat -gcutil -h 10 pid 1000
jstat -gccause -h 10 pid 1000

這里一般是開三個窗口對比看數據的。-gc主要是關注堆的分區總大小。-gcutil主要是關注已使用的百分比。-gccause主要是關注fgc次數,時間以及gc原因。

內存問題的分類就比較多了,造成問題的卡頓的根本其實是gc問題。stw的時候虛擬機停頓了,導致反應不過來了。

問題:堆內存占用空間接近滿

這種情況就利用mat去查看dump分析吧,可能出現內存使用不合理或者內存泄漏,這里需要根據代碼來分析。

問題:perm,metaspace占用接近滿

jps -lvm

查看一下jvm參數設置,很可能是參數設置不合理,-XX:MetaspaceSize是發生gc的最小空間,這里是不是設置太小。MaxMetaspaceSize,MaxPermSize的值是否設置太小。java6如果設置都不小而且還占滿了,那就得檢測代碼里是不是在運行時常量池加了字符串。1.7,1.8就考慮是不是業務用了什么字節碼生成技術,動態做了一些字節碼操作。

問題:system.gc()

gccause查看gc的原因是system.gc()。需要檢測是否用了rmi,使用了直接內存,或者業務代碼調用了system.gc()。直接內存查看現在沒有現成的工具。可以使用我在github上放著的小工具查看。地址如下https://github.com/xpbob/jstatassist

問題:gc頻繁但不是system.gc()

空間都不是特別緊張,但是gc次數頻繁,并且不是system.gc()。那可能就是gc參數設置不對了,例如cms,老年代回收是一個2秒一次的輪訓操作,很有可能是現在的空間占用每次都是滿足gc的條件的,于是出現了這種情況。

問題:gc時間特別長

gc時間特別長,這個就從gc算法選擇還有內存情況來協調參數吧。但是有兩個特例,cms和g1。這兩個垃圾回收器都是有單線程回收的算法的可能的,這里需要gc日志分析確認。

問題:堆占用不大,res特別大

這種情況可能性太大,常見的是jni,jna操作,mmap文件,直接內存使用,jdk的bug。需要根據實際情況來分析。

問題: 業務問題

如果以上表現都沒有的話,那需要不斷的打jstack去看線程棧的變化。這個只能是結合業務來看。

“如何用jvm程序執行慢診斷手冊”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注創新互聯網站,小編將為大家輸出更多高質量的實用文章!


當前名稱:如何用jvm程序執行慢診斷手冊
文章分享:http://www.xueling.net.cn/article/gidiop.html

其他資訊

在線咨詢
服務熱線
服務熱線:028-86922220
TOP
主站蜘蛛池模板: 国产精品自在拍视频首页 | 国产午夜精华无码网站 | 欧美疯狂xxx免费视频 | 巨胸喷奶水视频WWW免费网站 | 欧美国产成人久久精品 | 天天av天天好逼 | 欧美日韩在线观看视频小说 | 成人1区2区| 国产精品久久久久久久小唯西川 | 我趁老师睡觉偷偷的脱她内裤 | 天天干天天操天天插 | 午夜免费啪视频在线观看 | 成人午夜视频在线 | 亚洲午夜无码毛片AV久久小说 | 国产亚洲欧洲Aⅴ综合一区 日本一级视频 | 国产精品美女视频免费观看软件 | 99亚洲 | 手机a级毛片免费观看 | 国产免费无码一区二区视频 | 亚洲欧美久久久 | 日本天堂视频在线观看 | 精品欧美一区二区三区久久久 | 国产一区免费在线 | 在线国产片 | 欧美日韩国产精品一区二区 | 一区二区视频网 | 亚洲精品在线成人 | 日日躁夜夜躁狠狠躁aⅴ蜜 国产精品人成A片一区二区 | 欧美顶级METART裸体全部自慰 | 亚洲人精品亚洲人成在线 | 天天操天天操天天操天天操 | 一级欧美一级日韩 | 亚洲久热无码av中文字幕 | 91天天操 | 手机黄色网址 | 日美一级片| 日本黄色五级片 | 免费国产小视频 | 国产欧美一区二区视频 | 人人97 | 国产高清av在线一区二区三区 |