Linux 常用命令-- top
top 命令實時顯示進程的狀態。默認狀態顯示的是cpu密集型的進程,並且每5秒鍾更新一次。你可以通過PID的數字大小,age (newest first), time (cumulative time),resident memory usage(常駐內存使用)以及進程從啟動后占用cpu的時間。
top - 20:59:18 up 4 days, 4:47, 1 user, load average: 0.00, 0.00, 0.00
Tasks: 65 total, 2 running, 63 sleeping, 0 stopped, 0 zombie
Cpu(s): 0.2%us, 0.1%sy, 0.0%ni, 99.6%id, 0.1%wa, 0.0%hi, 0.0%si, 0.0%st
Mem: 500472k total, 282756k used, 217716k free, 82496k buffers
Swap: 0k total, 0k used, 0k free, 61052k cached
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
975 root 20 0 756m 10m 8008 S 0.2 2.1 9:12.19 AliYunDun
991 root 20 0 768m 9320 7164 S 0.2 1.9 5:19.35 AliHids
842 root 20 0 463m 2588 1888 S 0.1 0.5 2:43.88 AliYunDunUpdate
1 root 20 0 19232 1512 1224 S 0.0 0.3 0:00.65 init
2 root 20 0 0 0 0 S 0.0 0.0 0:00.01 kthreadd
3 root RT 0 0 0 0 S 0.0 0.0 0:00.00 migration/0
4 root 20 0 0 0 0 S 0.0 0.0 0:00.71 ksoftirqd/0
5 root RT 0 0 0 0 S 0.0 0.0 0:00.00 migration/0
6 root RT 0 0 0 0 S 0.0 0.0 0:00.55 watchdog/0
7 root 20 0 0 0 0 S 0.0 0.0 0:12.40 events/0
8 root 20 0 0 0 0 S 0.0 0.0 0:00.00 cgroup
9 root 20 0 0 0 0 S 0.0 0.0 0:00.00 khelper
10 root 20 0 0 0 0 S 0.0 0.0 0:00.00 netns
11 root 20 0 0 0 0 S 0.0 0.0 0:00.00 async/mgr
12 root 20 0 0 0 0 S 0.0 0.0 0:00.00 pm
13 root 20 0 0 0 0 S 0.0 0.0 0:00.00 xenwatch
14 root 20 0 0 0 0 S 0.0 0.0 0:00.00 xenbus
15 root 20 0 0 0 0 S 0.0 0.0 0:01.22 sync_supers
16 root 20 0 0 0 0 S 0.0 0.0 0:01.14 bdi-default
17 root 20 0 0 0 0 S 0.0 0.0 0:00.00 kintegrityd/0
18 root 20 0 0 0 0 S 0.0 0.0 0:00.18 kblockd/0
19 root 20 0 0 0 0 S 0.0 0.0 0:00.00 kacpid
20 root 20 0 0 0 0 S 0.0 0.0 0:00.00 kacpi_notify
21 root 20 0 0 0 0 S 0.0 0.0 0:00.00 kacpi_hotplug
如果你想提高某個進程的優先級,可以通過renice命令,如果有摸個進程占用太多的cpu資源,可以通過kill命令。
-
top 顯示出現的每個列的含義分別為:
PID: 進程描述符
USER: 進程的擁有者
PRI:進程的優先級
NI: nice level
SIZE: 進程擁有的內存(包括code segment + data segment + stack segment)
RSS: 物理內存使用
VIRT(virtul memory usage): 進程需要的虛擬內存大小
RES(resident memory usage): 常駐內存
SHARE: 和其他進程共享的物理內存空間
STAT:進程的狀態,有 S=sleeping,R=running,T=stopped or traced,D=interruptible sleep(不可中斷的睡眠狀態),Z=zombie。
%CPU: CPU使用率
%MEM: 物理內存的使用
TIME: 進程占用的總共cpu時間
COMMAND:進程的命令
常用的命令
(1) t: 用於是否顯示總的統計數據,也就是下面這兩行
Tasks: 65 total, 2 running, 63 sleeping, 0 stopped, 0 zombie
Cpu(s): 0.2%us, 0.1%sy, 0.0%ni, 99.6%id, 0.1%wa, 0.0%hi, 0.0%si, 0.0%st
(2)m:用戶是否顯示內存的信息,也就是下面這兩行
Mem: 500472k total, 282756k used, 217716k free, 82496k buffers
Swap: 0k total, 0k used, 0k free, 61052k cached
(3)A: 根據單窗口切換成多窗口,可以看到四個不同的窗口,可以通過a或者w來切換多個窗口。 四個窗口的名字分別為:Def,Job,Mem,Usr
(4)f:進入一個動態配置top的screen中,可以根據自己的喜好配置top
(5)o:對top的現有配置排序(order)
(6)r:使用renice命令
(7)k:使用kill命令
top的命令行使用方式
(1) 批量處理模式
$ top -b
加上-b后,top顯示的時候,將每一次顯示的結果都打印出來,不會將上一次的結果給沖掉。
(2) 顯示某個進程的信息
$ top -p pid
如果是多個進程,只要如下:
$ top -p pid1,pid2,pid3
(3) 顯示某個用戶的進程信息
$ top -u username
(4) 顯示線程的信息,而不是進程的信息
$ top -H
(5) 設置刷屏的時間(單位為s)
$ top -d ntime
