摘要:問題排查方法方法一通過命令查看當前及內存情況獲得通過查看有問題的線程說明指顯示線程,是指定進程可以看到兩個或內存占用較高的線程,記下此處的即為線程標識,將其從十進制轉成十六進制表示,如通過命令獲取當前線程棧,可暫時保存到一個文件中,
問題排查方法 方法一
通過top命令查看當前CPU及內存情況
top 86786 java 98.4 13:22.7
獲得pid,通過top -H -p86786查看有問題的線程
說明: -H 指顯示線程,-p 是指定進程
可以看到兩個CPU或內存占用較高的線程,記下PID( 此處的PID即為線程ID標識) ,將其從十進制轉成十六進制表示,如0x7f1
printf "%x " tid 0x7f1
通過jstack命令獲取當前線程棧,可暫時保存到一個文件tempfile.txt中,在tempfile.txt中查找nid=0x7f1的線程
jstack pid | grep "0x7f1"方法二
查進程ID ps -ef|grep java 或 ps -ef|grep java
ps -mp 8514 -o THREAD,tid,time,pmem?查出進程下線程信息,可以查出%CPU高,TIME長的線程ID(tid)
printf "%x " 8593 tid(8593)轉化為十六進制2191
jstack 8514|grep 2191?打印出堆棧信息
常用命令查看指定進程下線程的ID,時間,cpu,內存情況并根據消耗時間排序
ps -mp 9793 -o user,pid,ppid,tid,time,%cpu,%mem,cmd | sort -rk5
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/68760.html
工作中,如果機器cpu idle過低,會收到告警 P2主機名: set-xr-xxxx監控項: all(#5) cpu.idle < 30 當前值: 0 排查的步驟如下, 使用top + 大寫P,查看cpu占用過高的進程 這里往往就是后臺java服務,然后要通過進程來排查具體的線程,這時有兩種方法方法一: top -H -p [pid] , 這時可以看到該進程下的所有線程,同樣與大寫P結合可以...
摘要:快照,帶線程命令,是顯示全部進程,是顯示線程,全格式輸出顯示進程樹,不加顯示所有實時快照推薦程度按數字從小到大。 有時候好好的程序放到生產服務器上一段時間后,就會發現服務器響應緩慢,進而進一步發現是cpu過高,于是就慌了,造成cpu過高的原因很多,不過大多是由于資源吃緊造成,例如:sql執行過慢,程序里存在死循環,數據庫連接未釋放,網絡阻塞導致的第三方框架代碼出現死循環,大量的操作導致...
摘要:幾個死鎖場景兩個線程相互調用導致互相等待同步結束。線程為了檢測死鎖,它需要遞進地檢測所有被請求的鎖。思考題線程有哪些狀態這些線程大多處于什么樣的狀態分布我們可以稱系統運行是健康的。 前言 在上一期Tomcat優化中,針對JVM相關主要參數做過一定說明,這一期主要介紹進行一些概念及經驗。后面分章節去講述相關工具的基本使用。 優化優先級 整體來講,系統優化應先優化架構及代碼,來解決具體功能...
DataX的限速與調優 img{ display:block; margin:0 auto !important; width:100%; } body{ width:75%; margin:...
摘要:今天百曉生就阿里云服務器無法遠程連接的問題,分享一波運維必備的問題排查方法,說明以下操作在位操作系統中進行過測試。確認公網帶寬是否不足無法遠程連接可能是公網帶寬不足導致的,具體排查方法如下登錄管理控制臺。在運維工程師的日常工作中,經常需要登錄到服務器上對應用部署和維護,配置修改是很常規操作。但是在日常運維工作中,經常也會遭遇滑鐵盧,當出現無法遠程連接服務器的時候,我們需要沉著冷靜,耐心分析報...
閱讀 2907·2021-10-19 10:09
閱讀 3126·2021-10-09 09:41
閱讀 3371·2021-09-26 09:47
閱讀 2687·2019-08-30 15:56
閱讀 590·2019-08-29 17:04
閱讀 979·2019-08-26 11:58
閱讀 2505·2019-08-26 11:51
閱讀 3353·2019-08-26 11:29