- 查看多核 CPU 個別核心的負載
執行 top 指令,在 top 顯示程序狀態的畫面下,按數字「1」即會顯示每個核心的負載註況。
如果終端視窗畫面太小,會出現「Sorry, terminal is not big enough」訊息,將視窗調大即可。
畫面如下:top - 21:12:44 up 94 days, 9:11, 2 users, load average: 0.41, 0.46, 0.47 Tasks: 419 total, 1 running, 418 sleeping, 0 stopped, 0 zombie Cpu0 : 7.4%us, 0.7%sy, 0.0%ni, 92.0%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st Cpu1 : 3.7%us, 0.3%sy, 0.0%ni, 95.7%id, 0.3%wa, 0.0%hi, 0.0%si, 0.0%st Cpu2 : 3.6%us, 0.3%sy, 0.0%ni, 96.0%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st Cpu3 : 0.0%us, 0.3%sy, 0.0%ni, 99.7%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st Cpu4 : 2.0%us, 0.0%sy, 0.0%ni, 98.0%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st Cpu5 : 0.0%us, 0.0%sy, 0.0%ni,100.0%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st Cpu6 : 15.9%us, 1.4%sy, 0.0%ni, 82.4%id, 0.0%wa, 0.0%hi, 0.3%si, 0.0%st Cpu7 : 0.0%us, 0.0%sy, 0.0%ni,100.0%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st Cpu8 : 6.0%us, 1.0%sy, 0.0%ni, 93.0%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st Cpu9 : 0.0%us, 0.0%sy, 0.0%ni,100.0%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st Cpu10 : 0.0%us, 0.0%sy, 0.0%ni,100.0%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st Cpu11 : 0.0%us, 0.0%sy, 0.0%ni,100.0%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st Cpu12 : 7.3%us, 0.7%sy, 0.0%ni, 91.7%id, 0.0%wa, 0.0%hi, 0.3%si, 0.0%st Cpu13 : 0.0%us, 0.0%sy, 0.0%ni,100.0%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st Cpu14 : 10.0%us, 1.0%sy, 0.0%ni, 88.7%id, 0.0%wa, 0.0%hi, 0.3%si, 0.0%st Cpu15 : 0.0%us, 0.0%sy, 0.0%ni,100.0%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st Cpu16 : 0.0%us, 0.0%sy, 0.0%ni,100.0%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st Cpu17 : 0.0%us, 0.0%sy, 0.0%ni,100.0%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st Cpu18 : 2.0%us, 0.7%sy, 0.0%ni, 97.4%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st Cpu19 : 0.0%us, 0.0%sy, 0.0%ni,100.0%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st Cpu20 : 29.5%us, 0.7%sy, 0.0%ni, 69.5%id, 0.0%wa, 0.0%hi, 0.3%si, 0.0%st Cpu21 : 0.0%us, 0.0%sy, 0.0%ni,100.0%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st Cpu22 : 0.0%us, 0.0%sy, 0.0%ni,100.0%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st Cpu23 : 0.0%us, 0.0%sy, 0.0%ni,100.0%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st Mem: 65925940k total, 10253404k used, 55672536k free, 345660k buffers Swap: 33030140k total, 0k used, 33030140k free, 5865436k cached PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 46994 mysql 20 0 22.5g 3.0g 8680 S 96.0 4.8 519:42.83 mysqld 1878 root 20 0 0 0 0 S 0.7 0.0 21:36.20 jbd2/dm-2-8 15635 root 20 0 15300 1496 936 R 0.7 0.0 0:00.37 top 155 root 20 0 0 0 0 S 0.3 0.0 3:52.53 kblockd/1
- 顯示某個程序最後使用哪個核心
在 top 畫面下,按「f」,選擇顯示「Last Used Cpu (SMP)」欄位 - 改變排序
在 top 畫面下,按
「M」:依使用記憶裡大小排序
「P」:依使用 CPU 大小排序(預設)
「T」:依使用時間大小排序
「N」:依 PID 大小排序 - top 畫面區塊顯示切換
「t」:是否顯示第二列(Tasks)
「m」:是否顯示第三列(Mem)、第四列(Swap) - 第二列(Tasks)資訊說明
us (user):使用者空間 (user space) 佔用 CPU 百分比
sy (system):核心空間 (kernel space) 佔用 CPU 百分比
ni (nice):nice 值比一般值 0 大 (優先序較低) 的進程佔用 CPU 百分比
id (idle):CPU 閒置時間百分比
wa (iowait):CPU 等待輸入/輸出的百分比。值過高,表示系統的儲存或網路 I/O 效能有問題
hi (H/W Interrupt):CPU 處理硬體中斷時間的百分比
si (S/W Interrupt):CPU 處理軟體中斷時間的百分比
st: (Steal):在如 Xen 等虛擬環境下 CPU 運作虛擬機器時間的百分比 - 改變畫面更新時間
在 top 畫面下,按「s」或「d」進行設定 - 只查看某個 user 的進程
在 top 畫面下,按「u」,輸入 user 帳號名稱。若要改回查看所有進程,則留空白直接按Enter - 只查看某個 PID 進程
下 top 指令時,使用「 -p」參數設定top -p 1234 #只到 1234 這個 PID top -p 1234,5533 #多個 PID 用逗號分隔
- kill 終止某進程
在 top 畫面下,按「k」,再輸入 PID - 改變進程優先權(nice)
在 top 畫面下,按「r」後進行設定,數字越小越優先。 - 將目前畫面的顯示設定儲存
在 top 畫面下,按「W」後會儲存到".toprc"檔
參考:
linux查看多核负载
[問題] process目前佔用的cpu core
使用 top 監控進程 (process)
好文
回覆刪除