linux 命令之top
top命令是显示当前系统正在执行的进程相关信息。包含进程ID、内存占用率等;top命令格式例如以下:
top [OPTIONS]
OPTIONS:
-b 批处理
-c 显示进程的完整名
-I 忽略失效过程
-s 保密模式
-S 累积模式
-i<时间> 设置间隔时间
-u<username> 指定username
-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文件里