星期四, 元月 07, 2010
Linux 列出系統 Zombie 狀態的程式資源 與 計算 CPU 總使用量
Zombie 就是已經呈現 殭屍狀態(Z) 的 Process, 平常的系統裡面不應該看到這種狀態才對.
註: 我的 Desktop 似乎蠻常看到. XD
使用 top 查看程式資源統計資訊
由 top 可以知道目前系統有多少個 zombie 程式 的 統計資訊.
- /usr/bin/top -b -i -n 1 # 由下述可見有 1個zombie (殭屍)
top - 22:42:44 up 1:37, 4 users, load average: 0.57, 0.61, 0.93
Tasks: 157 total, 1 running, 155 sleeping, 0 stopped, 1 zombie
Cpu(s): 49.5%us, 4.3%sy, 1.6%ni, 42.0%id, 2.5%wa, 0.1%hi, 0.1%si, 0.0%st
Mem: 1026116k total, 927496k used, 98620k free, 81600k buffers
Swap: 1012084k total, 16456k used, 995628k free, 343236k cached
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
6869 user 20 0 2464 1060 776 R 0.0 0.1 0:00.00 top - TOP 參數說明
- -b - Batch mode
- -n - how many itterations (-n number)
- -i : Idle Processes toggle
使用 ps 取得 程式狀態 與 PID
- ps aux | grep -w Z # 列出整個 pid 的 process 資訊
user 2192 0.0 0.0 0 0 ? Z 21:05 0:00 [scim] <defunct>
- ps aux | awk '{print $8 " " $2}' | grep -w Z # 列出 Z + pid
Z 2192
- ps aux | awk '$8=="Z" {print $2}' # 只抓出 pid
2192
- 抓到此 PID, 再看情況要不要 kill 掉囉~
計算某程式吃的總 CPU 資源
下述為計算 Apache 全部使用掉多少 CPU 資源加總.
使用 TOP 計算
- $ /usr/bin/top -d 2 -n 1 | awk '/apache/{count += $9;}; END {print count};' # 可以知道 CPU 總使用量
45%
使用 ps aux 計算
- $ ps aux | awk '/apache/{count += $3;}; END {print count};' # 這個會比較準.
45.6%
相關網頁
相關標籤
Kill Zombie?
Zombie 好像 kill 不掉喔...不然他就不叫 Zombie了
Comment by
李小白
(01/11/2010 19:11)
發表迴響
PS: 若無法留言, 請先確認是否有打開 JavaScript, 造成您的困擾, 實在萬分對不起 Orz...(如果無法留言, 勞煩可以發信給我好嗎? 謝謝.)
PS2: 若您的留言被誤判, 我都會再自行看過, 不需要一直重覆張貼~
PS2: 若您的留言被誤判, 我都會再自行看過, 不需要一直重覆張貼~




