linux的CPU使用率達到100%的快速定位過程
問題現(xiàn)象
Linux服務器(操作系統(tǒng)版本是centos7.9)上面部署了若干Java站點服務,突然收到運維的CPU異常g告警,到了影響業(yè)務的情況發(fā)生,經(jīng)初步排查,未出現(xiàn)異常進程,排除挖礦病毒的原因。
排查思路
(1)找到最耗CPU的進程;
(2)找到最耗CPU的線程;
(3)查看堆棧,定位線程在干嘛,定位對應代碼;
排查步驟
1.找到最耗CPU的進程
方法:使用top命令
- 執(zhí)行top -c ,顯示進程運行信息列表
- 鍵入P (大寫p),進程按照CPU使用率排序
2.找到最耗CPU的線程
方法:使用top工具
- top -Hp ,顯示一個進程的線程運行信息列表
- 鍵入P (大寫p),線程按照CPU使用率排序
- top -Hp 30365
3.查看堆棧,定位線程在干嘛,定位對應代碼
- 首先,將線程PID轉化為16進制。
- 工具:printf
- 方法:printf "%x\n" 6080
如上圖,6080對應的16進制是0x17c0
之所以要轉化為16進制,是因為堆棧里,線程id是用16進制表示的
4.查看堆棧,找到線程在干嘛
- 工具:jstack
- 方法:jstack 30365 | grep '0x17c0' -C5 --color
- 最后,根據(jù)堆棧里的信息,找到對應的代碼.
總結
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關文章
詳解CentOS安裝tomcat并且部署Java Web項目
本篇文章主要介紹了CentOS安裝tomcat并且部署Java Web項目,具有一定的參考價值,有需要的可以了解一下。2016-11-11預防PHPDDOS的發(fā)包攻擊別人的方法(iis+linux)
最近很多美國VPS客戶被人通過dedecms漏洞等等入侵.導致phpddos 很猖狂,占用大量帶寬,影響網(wǎng)站,浪費流量2012-04-04Apache中偽靜態(tài)Rewrite的使用方法和URL重寫規(guī)則表達式講解
apache中的mod_rewrite模塊提供了一個基于正則表達式分析器的重寫引擎來實時重寫URL請求,主要的功能就是實現(xiàn)URL的跳轉,它的正則表達式是基于Perl語言。可基于服務器級的(httpd.conf)和目錄級的(.htaccess)兩種方式,允許通過它來改變Apache?Web服務器的配置。2022-11-11linux系統(tǒng)對外開放3306、8080等端口,防火墻設置詳解
這篇文章主要介紹了linux系統(tǒng)對外開放3306、8080等端口,防火墻設置,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2019-05-05