TOP命令詳解(轉)

amyz發表於2007-08-10
TOP命令詳解(轉)[@more@]

  top命令

  top命令和ps命令的基本作用是相同的,顯示系統當前的程式和其他狀況;但是top是一個動態顯示過程,即可以透過使用者按鍵來不斷重新整理當前狀態。如? 前臺執行該命令,它將獨佔前臺,直到使用者終止該程式為止。比較準確的說,top命令提供了實時的對系統處理器的狀態監視。它將顯示系統中CPU最“敏感”的任務列表。該命令可以按CPU使用。記憶體使用和執行時間對任務進行排序;而且該命令的很多特性都可以透過互動式命令或者在個人定製檔案中進行設定。在後面的介紹中將把命令引數和互動命令分開講述。

  

  下面是該命令的語法格式:

  top [-] [d delay] [q] [c] [s] [S] [i]

  d 指定每兩次螢幕資訊重新整理之間的時間間隔。當然使用者可以使用s互動命令來改變之。

  q 該選項將使top沒有任何延遲的進行重新整理。如果呼叫程式有超級使用者許可權,那麼top將以儘可能高的優先順序執行。

  S 指定累計模式。

  s 使top命令在安全模式中執行。這將去除互動命令所帶來的潛在危險。

  i 使top不顯示任何閒置或者僵死程式。

  c 顯示整個命令列而不只是顯示命令名

  top命令顯示的專案很多,預設值是每5秒更新一次,當然這是可以設定的。顯示的各專案為:

  uptime 該項顯示的是系統啟動時間、已經執行的時間和三個平均負載值(最近1秒,5秒,15秒的負載值)。

  processes 自最近一次重新整理以來的執行程式總數。當然這些程式被分為正在執行的,休眠的,停止的等很多種類。程式和狀態顯示可以透過互動命令t來實現。

  CPU states 顯示使用者模式,系統模式,優先順序程式(只有優先順序為負的列入考慮)和閒置等各種情況所佔用CPU時間的百分比。優先順序程式所消耗的時間也被列入到使用者和系統的時間中,所以總的百分比將大於100%。

  Mem 記憶體使用情況統計,其中包括總的可用記憶體,空閒記憶體,已用記憶體,共享記憶體和快取所佔記憶體的情況。

  Swap 交換空間統計,其中包括總的交換空間,可用交換空間,已用交換空間。

  PID 每個程式的ID。

  PPID 每個程式的父程式ID。

  UID 每個程式所有者的UID 。

  USER 每個程式所有者的使用者名稱。

  PRI 每個程式的優先順序別。

  NI 該程式的優先順序值。

  SIZE 該程式的程式碼大小加上資料大小再加上堆疊空間大小的總數。單位是KB。

  TSIZE 該程式的程式碼大小。對於核心程式這是一個很奇怪的值。

  DSIZE 資料和堆疊的大小。

  TRS 文字駐留大小。

  D 被標記為“不乾淨”的頁專案。

  LIB 使用的庫頁的大小。對於ELF程式沒有作用。

  RSS 該程式佔用的實體記憶體的總數量,單位是KB。

  SHARE 該程式使用共享記憶體的數量。

  STAT 該程式的狀態。其中S代表休眠狀態;D代表不可中斷的休眠狀態;R代表執行狀態;Z代表僵死狀態;T代表停止或跟蹤狀態。

  TIME 該程式自啟動以來所佔用的總CPU時間。如果進入的是累計模式,那麼該時間還包括這個程式子程式所佔用的時間。且標題會變成CTIME。

  %CPU 該程式自最近一次重新整理以來所佔用的CPU時間和總時間的百分比。

  %MEM 該程式佔用的實體記憶體佔總記憶體的百分比。

  COMMAND 該程式的命令名稱,如果一行顯示不下,則會進行擷取。記憶體中的程式會有一個完整的命令列。

  下面介紹在top命令執行過程中可以使用的一些互動命令。從使用角度來看,熟練的掌握這些命令比掌握選項還重要一些。這些命令都是單字母的,如果在命令列選項中使用了s選項,則可能其中一些命令會被遮蔽掉。

  $#@60;空格立即重新整理顯示。

  Ctrl+L 擦除並且重寫螢幕。

  h或者? 顯示幫助畫面,給出一些簡短的命令總結說明。

  k 終止一個程式。系統將提示使用者輸入需要終止的程式PID,以及需要傳送給該程式什麼樣的訊號。一般的終止程式可以使用15訊號;如果不能正常結束那就使用訊號9強制結束該程式。預設值是訊號15。在安全模式中此命令被遮蔽。

  i 忽略閒置和僵死程式。這是一個開關式命令。

  q 退出程式。

  r 重新安排一個程式的優先順序別。系統提示使用者輸入需要改變的程式PID以及枰?柚玫慕?逃畔燃噸怠J淙胍桓穌?到?褂畔燃督檔停?粗?蚩梢允垢媒?逃滌懈?叩撓畔熱āD?現凳?0。

  S 切換到累計模式。

  s 改變兩次重新整理之間的延遲時間。系統將提示使用者輸入新的時間,單位為s。如果有小數,就換算成m s。輸入0值則系統將不斷重新整理,預設值是5 s。需要注意的是如果設定太小的時間,很可能會引起不斷重新整理,從而根本來不及看清顯示的情況,而且系統負載也會大大增加。

  f或者F 從當前顯示中新增或者刪除專案。

  o或者O 改變顯示專案的順序。

  l 切換顯示平均負載和啟動時間資訊。

  m 切換顯示記憶體資訊。

  t 切換顯示程式和CPU狀態資訊。

  c 切換顯示命令名稱和完整命令列。

  M 根據駐留記憶體大小進行排序。

  P 根據CPU使用百分比大小進行排序。

  T 根據時間/累計時間進行排序。

  W 將當前設定寫入~/.toprc檔案中。這是寫top配置檔案的推薦方法。

  從上面的介紹中可以看到,top命令是一個功能十分強大的監控系統的工具,尤其對於系統管理員而言更是如此。一般的使用者可能會覺得ps命令其實就夠用了,但是top命令的強勁功能確實提供了不少方便。下面來看看實際使用的情況。

  [例23] 鍵入top命令檢視系統狀況

  $ top

  1:55pm up 7 min, 4 user, load average:0.07,0.09,0.06

  29 processes:28 sleeping, 1 running, 0 zombie, 0 stopped

  CPU states: 4.5% user, 3.6% system, 0.0% nice, 91.9% idle

  Mem: 38916K av, 18564K used, 20352K free, 11660K shrd, 1220K buff

  Swap: 33228K av, 0K used, 33228K free, 11820K cached

  PID USER PRI NI SIZE RSS SHARE STAT LIB %CPU %MEM TIME COMMAND

  363 root 14 0 708 708 552 R 0 8.1 1.8 0:00 top

  1 root 0 0 404 404 344 S 0 0.0 1.0 0:03 init

  2 root 0 0 0 0 0 SW 0 0.0 0.0 0:00 kflushd

  3 root -12 -12 0 0 0 SW$#@60; 0 0.0 0.0 0:00 kswapd

  4 root 0 0 0 0 0 SW 0 0.0 0.0 0:00 md_thread

  5 root 0 0 0 0 0 SW 0 0.0 0.0 0:00 md_thread

  312 root 1 0 636 636 488 S 0 0.0 1.6 0:00 telnet

  285 root 6 0 1140 1140 804 S 0 0.0 2.9 0.00 bash

  286 root 0 0 1048 1048 792 S 0 0.0 2.6 0.00 bash

  25 root 0 0 364 364 312 S 0 0.0 0.9 0.00 kerneld

  153 root 0 0 456 456 372 S 0 0.0 1.1 0.00 syslogd

  160 root 0 0 552 552 344 S 0 0.0 1.4 0.00 klogd

  169 daemon 0 0 416 416 340 S 0 0.0 1.0 0.00 atd

  178 root 2 0 496 496 412 S 0 0.0 1.2 0.00 crond

  187 bin 0 0 352 352 284 S 0 0.0 0.9 0.00 portmap

  232 root 0 0 500 500 412 S 0 0.0 1.2 0.00 rpc.mountd

  206 root 0 0 412 412 344 S 0 0.0 1.0 0.00 inetd

  215 root 0 0 436 436 360 S 0 0.0 1.1 0.00 icmplog

  第一行的專案依次為當前時間、系統啟動時間、當前系統登入使用者數目、平均負載。第二行為程式情況,依次為程式總數、休眠程式數、執行程式數、僵死程式數、終止程式數。第三行為CPU狀態,依次為使用者佔用、系統佔用、優先程式佔用、閒置程式佔用。第四行為記憶體狀態,依次為平均可用記憶體、已用記憶體、空閒記憶體、共享記憶體、快取使用記憶體。第五行為交換狀態,依次為平均可用交換容量、已用容量、閒置容量、快取記憶體容量。然後下面就是和ps相仿的各程式情況列表了。

  總的來說,top命令的功能強於ps,但需要長久佔用前臺,所以使用者應該根據自己的情況來使用這個命令。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10752019/viewspace-941449/,如需轉載,請註明出處,否則將追究法律責任。