如何檢視程序使用的執行緒數量?

2021-10-11 18:57:41 字數 1364 閱讀 3156

如何檢視當前程序有多少個存活執行緒呢?

方法1)pstree -p 4761(程序id)。如下截圖所示:

方法2)cat /proc/4761(程序id)/status。如下圖所示:

方法3)top -p 4761(程序id),然後按h。如下圖所示:

指令碼解釋:比如某台伺服器的cpu使用率飆公升,通過top命令檢視是gitlab程式占用的cpu比較大,"ps -ef|grep gitlab"發現有很多個gitlab程式,現在需要查詢gitlab各個程序下的執行緒數情況。批量查詢命令如下:

# for pid in $(ps -ef|grep -v grep|grep gitlab|awk '');do echo $ > /root/a.txt ;cat /proc/$/status|grep threads > /root/b.txt;paste /root/a.txt /root/b.txt;done|sort -k3 -rn

1)for pid in $(ps -ef|grep -v grep|grep gitlab|awk '')定義$變數為gitlab程序的pid號2)echo $ > /root/a.txt將http程序的pid號都列印到/root/a.txt檔案中

3)cat /proc/$/status|grep threads > /root/b.txt

將各個pid程序號下的執行緒資訊列印到/root/b.txt檔案中

4)paste /root/a.txt /root/b.txt

以列的形式展示a.txt和b/txt檔案中的資訊

5)sort -k3 -rn

-k3 表示以第三列進行排序

-rn 表示降序

***************==來看個cup使用率告警問題處理案例***************===

檢視Linux下某個程序裡面執行緒數量

檢視linux下某個程序裡面執行緒數量 2011 04 08 15 41 3中方法 1.cat proc status 2.pstree p 3.top p 再按h 或者直接輸入 top bh d 3 p 檢視程序工作 strace p 開啟iptables日誌 iptables t raw i p...

檢視程序執行緒

ps ef grep syslog grep v grep awk 先看ps ef grep syslog的輸出 我沒有打馬賽克,千萬不要攻擊我的電腦啊 grep的輸出都會有grep自身這個程序在,用grep v grep 可以把這一行乾掉,然後awk 就是列印第二列數字,我這裡是在docker容器...

如何檢視程序開啟了多少執行緒

為什麼要知道某個程序開啟了多少執行緒?好奇,這個很重要 效能調優 概念澄清 這裡所說的執行緒指的是核心級別的執行緒,不是使用者態執行緒,所謂使用者態執行緒是指不依賴作業系統而是在使用者態下實現的執行流排程。這裡的執行緒個數指的是程序執行時的執行緒個數,這個數值會隨著執行緒的建立和銷毀而動態變化。本文...