top命令是顯示當前系統正在執行的進程相關信息。包括進程ID、內存占用率等;top命令格式如下:
top [OPTIONS]
OPTIONS:
-b 批處理
-c 顯示進程的完整名
-I 忽略失效過程
-s 保密模式
-S 累積模式
-i<時間> 設置間隔時間
-u<用戶名> 指定用戶名
-p<進程號> 指定進程
-n<次數> 循環顯示的次數
top輸出信息:
top - 15:08:48 up 1:53, 3 users, load average: 0.00, 0.01, 0.05
Tasks: 160 total, 1 running, 159 sleeping, 0 stopped, 0 zombie
Cpu(s): 0.1%us, 0.2%sy, 0.0%ni, 99.6%id, 0.1%wa, 0.0%hi, 0.0%si, 0.0%st
Mem: 2061364k total, 1029032k used, 1032332k free, 224832k buffers
Swap: 2095100k total, 0k used, 2095100k free, 440620k cached
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
1777 root 20 0 150m 80m 13m S 4 4.0 0:19.91 Xorg
3602 gino 20 0 91844 15m 10m S 2 0.8 0:00.45 gnome-terminal
1 root 20 0 3644 1968 1280 S 0 0.1 0:00.80 init
2 root 20 0 0 0 0 S 0 0.0 0:00.00 kthreadd
3 root 20 0 0 0 0 S 0 0.0 0:00.06 ksoftirqd/0
4 root 20 0 0 0 0 S 0 0.0 0:00.00 kworker/0:0
6 root RT 0 0 0 0 S 0 0.0 0:00.00 migration/0
7 root RT 0 0 0 0 S 0 0.0 0:00.03 watchdog/0
8 root RT 0 0 0 0 S 0 0.0 0:00.00 migration/1
10 root 20 0 0 0 0 S 0 0.0 0:00.07 ksoftirqd/1
11 root 20 0 0 0 0 S 0 0.0 0:00.50 kworker/0:1
12 root RT 0 0 0 0 S 0 0.0 0:00.03 watchdog/1
13 root RT 0 0 0 0 S 0 0.0 0:00.00 migration/2
15 root 20 0 0 0 0 S 0 0.0 0:00.02 ksoftirqd/2
16 root RT 0 0 0 0 S 0 0.0 0:00.03 watchdog/2
17 root RT 0 0 0 0 S 0 0.0 0:00.00 migration/3
19 root 20 0 0 0 0 S 0 0.0 0:00.02 ksoftirqd/3
20 root RT 0 0 0 0 S 0 0.0 0:00.03 watchdog/3
21 root 0 -20 0 0 0 S 0 0.0 0:00.00 cpuset
22 root 0 -20 0 0 0 S 0 0.0 0:00.00 khelper
23 root 20 0 0 0 0 S 0 0.0 0:00.00 kdevtmpfs
24 root 0 -20 0 0 0 S 0 0.0 0:00.00 netns
25 root 20 0 0 0 0 S 0 0.0 0:00.00 kworker/u:1
26 root 20 0 0 0 0 S 0 0.0 0:00.02 sync_supers
27 root 20 0 0 0 0 S 0 0.0 0:00.00 bdi-default
28 root 0 -20 0 0 0 S 0 0.0 0:00.00 kintegrityd
29 root 0 -20 0 0 0 S 0 0.0 0:00.00 kblockd
30 root 0 -20 0 0 0 S 0 0.0 0:00.00 ata_sff
31 root 20 0 0 0 0 S 0 0.0 0:00.00 khubd
32 root 0 -20 0 0 0 S 0 0.0 0:00.00 md
34 root 20 0 0 0 0 S 0 0.0 0:00.00 khungtaskd
35 root 20 0 0 0 0 S 0 0.0 0:00.00 kswapd0
36 root 25 5 0 0 0 S 0 0.0 0:00.00 ksmd
37 root 39 19 0 0 0 S 0 0.0 0:00.00 khugepaged
38 root 20 0 0 0 0 S 0 0.0 0:00.00 fsnotify_mark
39 root 20 0 0 0 0 S 0 0.0 0:00.00 ecryptfs-kthrea
40 root 0 -20 0 0 0 S 0 0.0 0:00.00 crypto
48 root 0 -20 0 0 0 S 0 0.0 0:00.00 kthrotld
49 root 20 0 0 0 0 S 0 0.0 0:00.00 scsi_eh_0
50 root 20 0 0 0 0 S 0 0.0 0:00.00 scsi_eh_1
52 root 20 0 0 0 0 S 0 0.0 0:00.00 kworker/u:3
71 root 0 -20 0 0 0 S 0 0.0 0:00.00 devfreq_wq
72 root 20 0 0 0 0 S 0 0.0 0:00.24 kworker/1:1
top 命令輸出信息說明:
第一行,同uptime命令執行的結果相同
15:08:38 --當前系統時間
2:16 up --系統已經運行時間(這期間系統沒有重啟)
3 users --當前登陸系統的用戶數
load average --系統負載三個數值分別為 1分鐘、5分鐘、15分鐘
第二行,進程說明:
160 total -- 系統共有進程數
1 running --處於運行的進程數
159 sleeping --處於休眠的進程數
0 stopped --結束的進程數
0 zombie --僵屍進程數
第三行,cpu狀態信息
0.1%us --用戶空間占用CPU百分比
0.2%sy --內核空間占用CPU百分比
0.0%ni --改變過優先級的進程占用CPU的百分比
99.6%id --空閒CPU百分比
0.1%wa --IO等待占用CPU的百分比
0.0%hi --硬中斷占用CPU的百分比
0.0%si --軟中斷占用CPU的百分比
0.0%st --CPU使用內部虛擬機運行任務的時間。
第四行,內存狀態
2061364k total --物理內存總量
1029032k used --使用中的內存總量
1032332k free --空閒內存總量
224832k buffers --緩存的內存總量
第五行,交換分區信息
2095100k total --交換區總量
0k used --使用的交互區總量
2095100k free --空閒的交互區總量
440620k cached --緩存的交互區總量
第七行,各進程的狀態監控項目列。
PID --進程id
USER --進程所有者
PR --進程優先級
NI --nice值。負值表示高優先級,正值表示低優先級
VIRT --進程使用的虛擬內存總量。VIRT = SWAP+RES
RES --進程使用的、未被換出的物理內存大小。RES = CODE+DATA
SHR --共享內存大小。
S --進程狀態。 S:睡眠 R:運行 T:跟蹤/停止 Z:僵屍進程 D: 不可中斷的睡眠狀態
%CPU --上次更新到現在的CPU時間占用百分比
%MEM --進程使用的無論內存百分比
TIME+ --進程使用的CPU時間總計,單位1/100秒
COMMAND --進程名稱
top 交互命令
執行top命令後,可以使用一些交互命令。這些命令都是單字母的,如果在命令行使用s選項,其中一些命令可能會被屏蔽。
h 顯示幫助畫面,給出一些簡短的命令總結說明
k 終止一個進程。
i 忽略閒置和僵死進程。這是一個開關式命令。
q 退出程序
r 重新安排一個進程的優先級別
S 切換到累計模式
s 改變兩次刷新之間的延遲時間(單位為s),如果有小數,就換算成m s。輸入0值則系統將不斷刷新,默認值是5 s
f或者F 從當前顯示中添加或者刪除項目
o或者O 改變顯示項目的順序
l 切換顯示平均負載和啟動時間信息
m 切換顯示內存信息
t 切換顯示進程和CPU狀態信息
c 切換顯示命令名稱和完整命令行
M 根據駐留內存大小進行排序
P 根據CPU使用百分比大小進行排序
T 根據時間/累計時間進行排序
W 將當前設置寫入~/.toprc文件中