生產環境cpu占用過高,分析思路和定位

2021-10-20 12:07:59 字數 330 閱讀 9021

linux和jdk命令一起分析。

案例步驟:

1線用top命令找出cpu佔比高的:top

2 ps -ef或者jps進一步定位,得知時乙個怎樣的後台程式導致:   jps -l

3定位到具執行緒或者**:ps -mp 程序 -o thread,tid,time( 引數解釋:-m顯示左右的執行緒;-p程序使用cpu的時間;-o該引數後是使用者自定義格式)

4將需要的執行緒i裝換為16進製制格式(英文小寫格式)

5jstack 程序id|grep tid(16進製制執行緒id小寫英文) -a60  (a60表示列印前60行)

列印出資訊可以看到公司**的某行。

linux 分析 程序cpu占用過高

重點是檢視程序的執行緒中,哪個執行緒占用cpu過高,然後用gdb附加到程序,除錯執行緒,看是否有死迴圈或者死鎖等問題,步驟如下 先用ps grep找出該死的程序pid,比如 1706 1.gdb attach 到程序號碼 1706 2.仍然在gdb中 info threads 結果大致如下 gdb ...

實戰CPU占用過高問題定位

網上學習了cpu 占用過高如何快速定位的方法後,根據現有的專案實戰一次。廢話不多說了,直接展示定位的問題的詳細步驟。服務部署在linux伺服器,定位問題的方法,主要也是使用相關的linux命令與jdk檢視堆疊,gc日誌等相關命令。1.問題發現 top 檢視當前伺服器各個程序執行占用cpu,記憶體等情...

Nginx 學習筆記(四)之 記憶體占用過高分析

一 記憶體占用檢視情況 執行如下命令確定 nginx 主程序 檢視主程序 ps aux grep nginx 檢視主程序下所有子程序占用記憶體情況,以此來進行統計 ps ppid u 1 查詢主程序看 命令ps aux grep nginx 從上圖可以看到 master process 有好幾個,這...