程序CPU 記憶體過高問題查詢

2022-07-20 19:15:13 字數 1175 閱讀 9690

1、定位程序

找出占用cpu最高的10個程序

ps aux | sort -k3nr | head -n 10

檢視占用記憶體最高的10個程序

ps aux | sort -k4nr | head -n 10

或者使用 top ,按 1 顯示cpu列表,再按 shift+p 以cpu排序

2、程序跟蹤分析

檢視程序開啟的檔案

lsof -p pid

檢視程序在處理的檔案

ll /proc/pid/fd

檢視程序的記憶體使用情況

pmap pid

通過strace來跟蹤程序的系統呼叫

strace -p pid

當然我們也可以檢視彙總的資訊

strace -cp pid

如果我們想跟蹤某程序所有的系統呼叫,並統計呼叫時間,並匯出為檔案,可用如下命令

strace -o  -t -tt -e trace=all -p

ps aux | sort -k3nr | head -n 10

檢視占用記憶體最高的10個程序

ps aux | sort -k4nr | head -n 10

或者使用 top ,按 1 顯示cpu列表,再按 shift+p 以cpu排序

2、程序跟蹤分析

檢視程序開啟的檔案

lsof -p pid

檢視程序在處理的檔案

ll /proc/pid/fd

檢視程序的記憶體使用情況

pmap pid

通過strace來跟蹤程序的系統呼叫

strace -p pid

當然我們也可以檢視彙總的資訊

strace -cp pid

如果我們想跟蹤某程序所有的系統呼叫,並統計呼叫時間,並匯出為檔案,可用如下命令

strace -o  -t -tt -e trace=all -p

linux 分析程序占用CPU過高

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

IIS站點cpu過高問題

經過監控發現,從某時刻開始iis站點cpu過高,經過檢視最新修改 曾發現一小問題,經過優化,發現並不是這些小問題造成。再沒有辦法情況下,經過對兩台負載均衡其中一台伺服器,進行逐個頁面 資料夾的ip限制,發現首頁動態頁面訪問量大。再次證明靜態頁面,比動態頁面效率高 效能項 資源 評價 cpu佔用率 7...

linux 分析 程序cpu占用過高

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