- 語法:
- top [-s time] [-d count] [-q] [-h] [-n number] [-f filename] [-o field][-U usename]
- -S 將系統進程信息也顯示到屏幕上,默認情況下,top不顯示系統進程的信息
- -b 使用"batch"方式運行top。在此種方式下,所有來自終端的輸入都將被忽略,但交互鍵(比如^C and ^\)
- 依然起使用。這是運行top輸出到亞終端或輸到非終端的默認運行方式
- -i 使用交互運行top程序,在此種方式下,命令會被進程立即被處理。不管命令是不是能被top所理解執行,
- 屏幕都將立即更新。這是top的默認運行方式。
- -I 不顯示空閒進程,在默認情況下,top連同空閒進程的信息一同輸出。
- -t 不顯示top進程自己
- -n 不以交互方式使用top命令,作用同"batch"方式。
- -s time 設置屏幕刷新的延時,單位爲秒,默認值5秒
- -d count 設置屏幕刷新的次數,刷新顯示完count次後退出
- -q 如果經過nice授權,使用-q可以使top運行的更快一些,這樣,在系統反應緩慢的時候,可以會更快的找到存在的問題。此選項在FreeBSD下只有root可以使用
- -n number 設置每一屏幕顯示的進程數目,number值超過進程最大數目,則設置無效
- -u 用顯示User ID代替username,提高命令運行速度
- -v 顯示程序版本號後,立即退出。如果要在top運行時查看版本號,輸入"?"
- -o 以指定的字段排序顯示進行信息。字段名必須爲輸入在屏幕的可見列的名字,而且必須是小寫。
- 比如"cpu"、"size"、"res"與"time",但不同的操作系統間有許多的不同。注意不是每個UNIX操
- 作系統都支持此選項。</font><font size="3" face="楷體_GB2312">-U 只顯示屬於後面所跟用戶名的進程的信息
屏幕控制命令交換方式下,可以使用以下命令控制top
- L - 刷新屏幕
- q - 退出
- h or ? - 顯示幫助
- d - 修改刷新顯示的次數
- e - 顯示最近"kill"或"renice"命令所產生的錯誤
- i - 顯示/不顯示處於空閒的進程
- I - 作用同 'i'
- k - kill 進程; 發送一個信號到某個進程列表
- n or # - 修改顯示進程的數目
- o - 以特定的字段排序 (pri, size, res, cpu, time)
- r - renice 一個進程
- s - 修改輸入的更新時間
- u - 只顯示屬於某個用戶的進程 (+ selects all users)
順序顯示下面三個常規的信息
- 一. 系統信息:
- last pid: 22228; load averages: 0.25, 0.97, 1.56 up 44+03:25:56 21:39:36
- 274 processes: 3 running, 259 sleeping, 12 zombie
- CPU states: 2.9% user, 0.0% nice, 4.2% system, 0.4% interrupt, 92.5% idle
- Mem: 483M Active, 120M Inact, 222M Wired, 25M Cache, 112M Buf, 153M Free
- Swap: 2048M Total, 143M Used, 1905M Free, 6% Inuse
首部的幾行顯示系統的幾個信息,其中包括: ¼br> + Load averages:1分鐘、5分鐘和15分鐘內運行的負載平均數
+ system:系統名和當前日期.
一般來說只要每個CPU的當前活動進程數不大於 3那麼系統的性能就是良好的,如果每個CPU的任務數大於5,
那麼就表示這臺機器的性能有嚴重問題
+ 最近一次更新時存在的進程總數,並分別列出run(運行)、sleep(睡眠)、idle(停止)和zomb(‘殭屍’)狀態的進程數
+ CPU state:用戶佔用時間的百分比、系統佔用CPU時間的百分比、被nice命令改變優先級的任務佔用的CPU時間百分比、以及CPU空閒時間的百分比。
(被nice命令改變優先級的任務僅指那些nice值爲負的任務)。花費在被nice命令改變優先級的任務上的時間也將被計算在系統和用戶時間內,因此整個時間加起來可能會超過百分之百
- 二.內存信息
- Memory: 610008K (24424K) real, 995344K (30304K) virtual, 12588K free Page# 1/4
- Memory:關於內存使用情況的統計,包括實際(real)內存的活動值/總值,虛擬(virtual)內存的使用值/總值,剩餘的內存。</font><font size="3" face="楷體_GB2312">DESCRIPTION OF MEMORY
- Mem: 9220K Active, 1032K Inact, 3284K Wired, 1MB Cache, 2M Buf, 1320K
- Free Swap: 91M Total, 79M Free, 13% Inuse, 80K In, 104 K Out
- K: Kilobyte(K)
- M: Megabyte(兆)
- %: 1/100(百分比)
- Active: 活動頁的數目
- Inact: 非活動頁的數目
- Wired: 已經被寫入頁的數目, 包括緩存文件數據頁碼
- Cache: 被用於 VM-level 磁盤緩衝的頁的數目
- Buf: 被用於 BIO-level 磁盤緩衝的頁的數目
- Free: 空閒頁
- Total: 總的可使用交換區
- Free: 總共空閒的交換區
- Inuse: 交換區的使用情況
- In: pages paged in from swap devices (最近的時間間隔)
- Out: pages paged out to swap devices (最近的時間間隔)
- 三.進程信息
- CPU PID USERNAME PRI NI SIZE RES STATE TIME %WCPU %CPU COMMAND
- 1 33 root 152 20 0K 0K run 153:43 1.18 1.18 vxfsd
- 0 1751 root 154 20 2500K 868K sleep 2084:19 0.52 0.52 ARMServer
- 0 1730 root 154 20 4500K 332K sleep 1664:55 0.44 0.44 acactmgr
列出系統裏每一個處理器的信息,當信息在一個屏幕內無法顯示時,會被分成多個屏幕顯示,可以前面提到l,k和t命令查看
- CPU:處理器號(僅當多處理器系統時列出)
- PID:進程號
- USERNAME:用戶名
- PRI:任務的優先級
- NICE:任務的nice值,一個具有較低值的進程在系統上將具有優先權。可以通過改變nice值提高某些進程速度,但是這實際上是一種交易,因爲那些nice值被升高的進程此時將運行得很慢。
- SIZE:任務的代碼加上數據再加上棧空間的大小。
- RES:任務使用的物理內存的總數量。
- STATE:任務的狀態
- TIME:自任務開始時使用的總CPU時間,單位爲秒,如153:43,對應是153秒43毫秒
- %WCPU:進程的CPU利用率權重百分比
- %CPU:進程的原始的CPU利用率百分比,自上一次屏幕刷新以來任務佔用CPU 時間的份額
- COMMAND:啓動進程的命令名。如果名字太長而不能在一行顯示時,它將被截短