load過高排查

2021-09-02 13:22:11 字數 596 閱讀 7720

jstack

執行緒的運**況、執行緒的狀態

load過高的排查

jps -mlv 列出所有jvm程序,選擇要查的那個,記下pid

top -h -p pid 查出哪個執行緒占用cpu過高,取該執行緒的threadid

threadid轉成16進製制tid  linux命令列下 >  printf "%x" num

jstack tid | grep -a 100 取該執行緒棧資訊的後100行,然後分析資訊

下面說明一下dump的資訊

"pool-18-thread-10" prio=10 tid=0x00007f673807e000 nid=0x24d8 waiting on condition [0x00007f671b971000]

waiting on condition   等待某個條件的發生,具體的原因可以檢視stack的資訊,一般是網路的io,出現大量的

waiting on condition,可能是頻寬不夠,或是網路存在異常

waitint for monitor entry  進入同步塊內的執行緒

object.wait  阻塞在同步塊的執行緒

線上占用CPU過高問題排查

最近博主在搬磚的時候遇到了線上的一些問題,大致情況是這樣的。表象 服務掛了,cpu占用比較高,一直在百分之九十多。肯定有小夥伴會說常規操作 reboot一下完事兒了。其實這樣吧沒毛病,但是解決不了根本問題。啥也不多說。咱們先說下線上排查三板斧。就算不能解決問題也能猜個差不多。top hp命令找出執行...

故障排查 記憶體使用率過高

本篇將介紹伺服器記憶體使用率過高的處理方案。記憶體方面主要關注兩個問題,第一 物理記憶體夠不夠用 第二 有沒有記憶體洩露。在linux系統中,free top vmstat等命令都會有系統記憶體使用率的輸出 程序占用 過多 執行時間太久 被植入異常木馬 記憶體洩漏 檢視記憶體佔用率top10的程序 ...

伺服器CPU過高,排查方法

top 定位異常的程序 top h p pid 檢視異常的執行緒 strace t r c p pid 檢視系統呼叫和花費的時間 printf x n 執行緒號 將異常執行緒轉化為16進製制 jstack 程序號 grep 執行緒號 16進製制異常執行緒號 a90 定位異常的 使用 top 命令定位...