CPU飈高問題排查基本步驟
CPU 飈高
一般是死循環或者死鎖問題導致。
1. 通過 top 命令找到 CPU 消耗最高的進程,並記住進程 ID {pid}。
top -M -n 2 -d 3 >{pid}/top.txt 查看top
2. 再次通過 top -Hp {pid} 找到 CPU 消耗最高的線程 ID,並記住線程 ID(十進制).
3.通過 JDK 提供的 jstack 工具 dump 線程堆棧信息到指定文件中。
jstack {pid} >{pid}/jstack_1.txt 一次堆棧快照 備用
jstack {pid} >{pid}/jstack_2.txt 兩次堆棧快照 備用
由於剛剛的線程 ID 是十進制的,而堆棧信息中的線程 ID 是16進制的,因此我們需要將10進制的轉換成16進制的,並用這個線程 ID 在堆棧中查找。
使用 printf "%x\n" [十進制數字] ,可以將10進制轉換成16進制。
通過剛剛轉換的16進制數字從堆棧信息裏找到對應的線程堆棧。就可以從該堆棧中看出端倪。
CPU飈高問題排查基本步驟
相關推薦
CPU飈高問題排查基本步驟
文件 txt 進程 十進制 文件中 tac jstack dump 轉換成 CPU 飈高 一般是死循環或者死鎖問題導致。1. 通過 top 命令找到 CPU 消耗最高的進程,並記住進程 ID {pid}。top -M -n 2 -d 3 >{pid}/top.txt
Java進程CPU使用率高排查
java進程cpu使用率高排查生產java應用,CPU使用率一直很高,經常達到100%,通過以下步驟完美解決,分享一下。1.jps 獲取Java進程的PID。2.jstack pid >> java.txt 導出CPU占用高進程的線程棧。3.top -H -p PID 查看對應進程的哪個線程占用C
jstack應用-查找CPU飈高的原因
CPU jstack 線程轉儲 堆轉儲 場景 在系統上線後,經常會遇到運維的同學跑過來說:“這次發版後,cpu線程使用率到一場,到100%了”。這時候不要慌,可以使用堆轉儲來分析到底是哪個線程引起的。 查找元兇 [root@java_mofei_01 test]# top Mem: 1633
如何找出CPU飈高的原因
cpu 佔用很高,導致其他請求無法進入,可能的情況比如 死迴圈等 線上Linux top 命令檢視cpu 佔用情況,找出佔用cpu 最高的Java 程序 top # 比如說找到佔用最高的 cpu 程序 id 是 83232 # jstack 輸出檔案,以備查詢問題 jstack
jvm cpu過高排查實戰
雙十一了,頭一天晚上10點左右收到阿里雲cpu超過90%簡訊報警。 第二天上班了,開始處理,步驟如下: 1、top找出cpu高的java程序號9592 2、top -Hp 9592檢視cpu佔用time最高的執行緒編號28178 3、執行 printf "%x\n" 28
記一次jdbc連線oracle資料庫佔用CPU過高的問題排查
背景: 公司有一個通訊系統,主要是通訊資料到客戶端程式所指定的資料庫,目前支援sqlserver、mysql和oracle三種類型的資料庫,此篇主要記錄一次oracle資料庫佔用CPU飆高的問題。 &nbs
weblogic下java程序占用cpu過高的問題排查
技術 .com htm http 執行命令 roo monitor The tin 1、cpu使用情況如圖: 2、執行命令 :jstack 126624 > cpu1112.log (註意執行此命令時的用戶需為執行進程的用戶,所以此處需要用weblogi
JAVA Linux 排查CPU 過高的方法
原文:https://blog.csdn.net/zhanglh046/article/details/50443528 方法一 1 ps -ef | grep java 查詢java 程序號 2 top -p PID -H 觀察佔用CPU較多的執行緒 3 找出CPU消耗較多的執行緒
cpu佔用過高排查
top命令是Linux下常用的效能分析工具,能夠實時顯示系統中各個程序的資源佔用狀況,類似於Windows的工作管理員 內容解釋: PID:程序的ID USER:程序所有者 PR:程序的優先級別,越小越優先被執行 NInice:值 VIRT:程序佔用的虛擬記憶體 RES:程序佔用的實體記憶體 SHR:程
記一次 MongoDB 佔用 CPU 過高問題的排查
1. 引言 今天檢視監控無意間突然發現自己的伺服器上,CPU 佔用率飆升到 100%,load 升到 10 以上,登入的響應已經達到半分鐘。 馬上執行 top,發現主要是 mongodb 佔用了大量
記一次yarn導致cpu飆高的異常排查經歷
yarn就先不介紹了,這次排坑經歷還是有收穫的,從日誌到堆疊資訊再到原始碼,很有意思,下面聽我說 問題描述: 叢集一臺NodeManager的cpu負載飆高。 程序還在但是看日誌已經不再向ResourceManager傳送心跳,不斷重複下文2的動作。 心跳停止一段時間後會重連上RM但是cpu仍然很高,再過
Java專案排查cpu負載高
背景 我負責的其中一個專案在空負載的情況下,CPU佔用率依然保持著100%左右,線上、測試、開發的服務都一樣;是什麼導致的呢?在開發環境我查看了請求流量,這個流量可以忽略但CPU佔用率一直在60%-100%之間浮動。 分析問題 流量可以忽略,但CPU佔用依然極其高說明不是請求多導致的資源佔用,原
探究 | Elasticsearch CPU高排查思路
一、可能導致ES CPU高的原因: 1、複雜的query查詢 舉例:我這邊出現過200個組合wildcard query導致叢集down掉的情況; 2、有大量的reindex操作 3、ES版本較低 二、排查思路 2.1、業務場景排查
linux排查java程序佔用CPU過高原因方法
前言 在運維tomcat伺服器時,我們通常會發現cpu的負載過高,大多數原因是由於java程式碼的bug引起的。可能你的java程式碼有很多,檔案也有很多,一行一行的排查是很費時間的。這時我們就可以使用jstack、top等工具對引起問題的程式碼進行定位,
JAVA程序高CPU佔用故障排查
問題描述:生產環境下的某臺tomcat7伺服器,在剛釋出時的時候一切都很正常,在執行一段時間後就出現CPU佔用很高的問題,基本上是負載一天比一天高。問題分析:1,程式屬於CPU密集型,和開發溝通過,排除此類情況。2,程式程式碼有問題,出現死迴圈,可能性極大。問題解決:1,開
生產環境下JAVA程序高CPU佔用故障排查
轉自:http://blog.chinaunix.net/uid-10449864-id-3463151.html 問題描述: 生產環境下的某臺tomcat7伺服器,在剛釋出時的時候一切都很正常,在執行一段時間後就出現CPU佔用很高的問題,基本上是負載一天比一天高。 問題分
Linux排查Java程序占用CPU很高的解決辦法
time printf bubuko linux排查 win 查看 14. 解決辦法 利用 Java的工具集相當強大,學習成本也很低,處理線上問題時,jstack這個工具就比微軟的windbg,好學好用很多,3步找出占用CPU很高的源所在。而windbg反人類的各種命令,實
Filebeat占用內存和CPU過高問題排查
ast beat 輸出 可能 follow tput 部署 cpu 一個 經反饋,新部署的服務器上filebeat占用的cpu過高,且內存只增不減。 而據我了解filebeat非常輕量級,正常情況下占用的資源幾乎都能忽略不計,所以懷疑是filebeat本身出了問題。 第
如何排查java應用中CPU使用率高或記憶體佔用高的問題
如何排查java應用中CPU使用率高或記憶體佔用高的問題?這類問題的排查步驟基本通用的。現在通過一個具體的例子來說明。 問題描
面試官問:平時碰到系統CPU飆高和頻繁GC,你會怎麼排查?
處理過線上問題的同學基本上都會遇到系統突然執行緩慢,CPU 100%,以及Full GC次數過多的問題。當然,這些問題的最終導致的