- 相關推薦
Linux下top命令詳解
Linux系統下top命令參數你知道嗎?下面yjbys小編為大家一一解讀!
top:動態觀察程序的變化
使用權限:
所有使用者
語法格式:
top [-] [d delay] [q] [c] [S] [s] [n]
使用說明:
即時顯示 process 的動態
主要參數:
-d :后面可以接秒數,就是整個程序畫面更新的秒數。預設是 5 秒;
-b :以批次的方式執行 top ,還有更多的參數可以使用喔!通常會搭配數據流重導向來將批次的結果輸出成為檔案。
-n :與 -b 搭配,意義是,需要進行幾次 top 的輸出結果。
-p :指定某些個 PID 來進行觀察監測而已。
在 top 執行過程當中可以使用的按鍵指令:
? :顯示在 top 當中可以輸入的按鍵指令;
P :以 CPU 的使用資源排序顯示;
M :以 Memory 的使用資源排序顯示;
N :以 PID 來排序喔!
T :由該 Process 使用的 CPU 時間累積 (TIME+) 排序。
k :給予某個 PID 一個訊號 (signal)
r :給予某個 PID 重新制訂一個 nice 值。
使用實例:
范例1:每兩秒鐘更新一次 top ,觀察整體信息
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | [root @linux ~] # top -d 2 top - 18:30:36 up 30 days, 7 min, 1 user, load average: 0.42, 0.48, 0.45 Tasks: 163 total, 1 running, 161 sleeping, 1 stopped, 0 zombie Cpu(s): 4.7% us, 4.0% sy, 6.3% ni, 82.5% id, 0.4% wa, 0.1% hi, 2.0% si Mem: 1033592k total, 955252k used, 78340k free, 208648k buffers Swap: 1052216k total, 728k used, 1051488k free, 360248k cached <==如果加入 k 或 r 時,就會有相關的字樣出現在這里喔! PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 3981 apache 34 19 84012 11m 7352 S 17.3 1.2 0:00.09 httpd 1454 mysql 16 0 289m 40m 2228 S 3.8 4.0 115:01.32 mysqld 3985 dmtsai 15 0 2148 904 668 R 3.8 0.1 0:00.03 top 1 root 16 0 3552 552 472 S 0.0 0.1 0:08.90 init 2 root RT 0 0 0 0 S 0.0 0.0 0:52.76 migration/0 3 root 34 19 0 0 0 S 0.0 0.0 0:03.01 ksoftirqd/0 |
范例2:將 top 的信息進行 2 次,然后將結果輸出到 /tmp/top.txt
1 2 | [root @linux ~] # top -b -n 2 > /tmp/top.txt # 這樣一來,嘿嘿!就可以將 top 的信息存到 /tmp/top.txt 檔案中了。 |
范例3:假設 10604 是一個已經存在的 PID ,僅觀察該程序
1 2 3 4 5 6 7 8 9 | [root@linux ~]# top -d 2 -p10604 top - 13:53:00 up 51 days, 2:27, 1 user, load average: 0.00, 0.00, 0.00 Tasks: 1 total, 0 running, 1 sleeping, 0 stopped, 0 zombie Cpu(s): 0.0% us, 0.0% sy, 0.0% ni, 100.0% id, 0.0% wa, 0.0% hi, 0.0% si Mem: 385676k total, 371760k used, 13916k free, 131164k buffers Swap: 1020116k total, 880k used, 1019236k free, 95772k cached PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 10604 root 16 0 5396 1544 1244 S 0.0 0.4 0:00.07 bash |
top 也是個挺不錯的程序觀察工具!但不同于 ps 是靜態的結果輸出, top 這個程序可以持續的監測 (monitor) 整個系統的程序工作狀態,例如上面的范例一所示啊! 在預設的情況下,每次更新程序資源的時間為 5 秒,不過,可以使用 -d 來進行修改。 top 主要分為兩個畫面,上面的畫面為整個系統的資源使用狀態,基本上總共有六行, 顯示的內容依序是:
第一行:顯示系統已啟動的時間、目前上線人數、系統整體的負載(load)。 比較需要注意的是系統的負載,三個數據分別代表 1, 5, 10 分鐘的平均負載。 一般來說,這個負載值應該不太可能超過 1 才對,除非您的系統很忙碌。 如果持續高于 5 的話,那么.....仔細的看看到底是那個程序在影響整體系統吧!
第二行:顯示的是目前的觀察程序數量,比較需要注意的是最后的 zombie 那個數值,如果不是 0 ,嘿嘿!好好看看到底是那個 process 變成疆尸了吧?!
第三行:顯示的是 CPU 的整體負載,每個項目可使用 ? 查閱。需要觀察的是 id (idle) 的數值,一般來說,他應該要接近 100% 才好,表示系統很少資源被使用啊! ^_^。
第四行與第五行:表示目前的物理內存與虛擬內存 (Mem/Swap) 的使用情況。
第六行:這個是當在 top 程序當中輸入指令時,顯示狀態的地方。 例如范例四就是一個簡單的使用例子。
至于 top 底下的畫面,則是每個 process 使用的資源情況。比較需要注意的是:
PID :每個 process 的 ID 啦!
USER:該 process 所屬的使用者;
PR :Priority 的簡寫,程序的優先執行順序,越小越早被執行;
NI :Nice 的簡寫,與 Priority 有關,也是越小越早被執行;
%CPU:CPU 的使用率;
%MEM:內存的使用率;
TIME+:CPU 使用時間的累加;
一般來說,如果鳥哥想要找出最損耗 CPU 資源的那個程序時,大多使用的就是 top 這支程序啦!然后強制以 CPU 使用資源來排序 (在 top 當中按下 P 即可), 就可以很快的知道啦!
【Linux下top命令詳解】相關文章:
Linux認證基礎知識:RedHat之vi命令詳解10-02
Linux下常用文本處理命令大全01-22
linux常用基本命令(文件處理命令)11-29
Linux硬件信息命令大全10-10
Linux中常用操作命令10-17
java開發必會的Linux命令10-07
Solaris iostat命令詳解10-17
Linux常用命令匯總07-28
Linux入門常用命令08-08