top:实时显示系统各个进程占用的资源情况
简介top命令用于实时显示系统中进程占用资源的情况。该命令还可以按照CPU的使用、内存使用和执行时间对系统进程进行排序显示。同时top命令还可以通过交互命令进行设定显示
说明
top命令用于实时显示系统中进程占用资源的情况。该命令还可以按照CPU的使用、内存使用和执行时间对系统进程进行排序显示。同时top命令还可以通过交互命令进行设定显示
可以使用该命令来踢掉某个用户登录
格式
top [option]
常用参数
- -c:显示进程的整个命令路径,而不是只显示命令名称
- -d:指定每两次屏幕信息刷新之间的时间间隔
- -H:指定整个可以显示每个线程的情况,否则就是进程的总的状态
- -i:不显示闲置或僵尸进程信息
- -n:top输出信息更新的次数,完成后就自动退出top命令
- -p:显示指定的进程信息
交互命令
在top命令执行过程中可以使用的一些交互命令。这些命令都是单字母的,如果在命令行中使用了-s选项, 其中一些命令可能会被屏蔽。
- h:显示帮助画面,给出一些简短的命令总结说明;
- k:终止一个进程;
- i:忽略闲置和僵死进程,这是一个开关式命令;
- q:退出程序;
- r:重新安排一个进程的优先级别;
- S:切换到累计模式;
- s:改变两次刷新之间的延迟时间(单位为s),如果有小数,就换算成ms。输入0值则系统将不断刷新,默认值是5s;
- f或者F:从当前显示中添加或者删除项目;
- o或者O:改变显示项目的顺序;
- l:切换显示平均负载和启动时间信息;
- m:切换显示内存信息;
- t:切换显示进程和CPU状态信息;
- c:切换显示命令名称和完整命令行;
- M:根据驻留内存大小进行排序;
- P:根据CPU使用百分比大小进行排序;
- T:根据时间/累计时间进行排序;
- w:将当前设置写入~/.toprc文件中。
示例
1、显示进程信息
[root@localhost ~]# top
top - 01:05:30 up 1 day, 11:10, 2 users, load average: 0.00, 0.02, 0.05
Tasks: 350 total, 2 running, 348 sleeping, 0 stopped, 0 zombie
%Cpu(s): 0.0 us, 0.3 sy, 0.0 ni, 99.7 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
KiB Mem: 1003420 total, 929148 used, 74272 free, 0 buffers
KiB Swap: 2097148 total, 320612 used, 1776536 free. 82544 cached Mem
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
1 root 20 0 43964 2112 1252 S 0.0 0.2 0:03.06 systemd
2 root 20 0 0 0 0 S 0.0 0.0 0:00.11 kthreadd
3 root 20 0 0 0 0 S 0.0 0.0 0:10.75 ksoftirqd/0
5 root 0 -20 0 0 0 S 0.0 0.0 0:00.00 kworker/0:0H
...
第一行:
- top - 01:05:30[当前系统时间],
- up 1 day, 11:10[系统已经运行了1天11小时10分],
- 2 users[当前有2个用户登录],
- load average: 0.00, 0.02, 0.05[系统负载,即任务队列的平均长度,分别是1分钟、5分钟、15分钟的平均负载情况]
第二行:Tasks为任务(进程)
- 共用350个进程,2个在运行,348个在休眠,0个在stoped,僵尸状态为0个
第三行:CPU状态信息
- 0.0 us:用户空间占用CPU的百分比
- 0.3 sy:内核空间占用CPU的百分比
- 0.0 ni:改变过优先级的进程占用CPU的百分比
- 99.7 id:空闲CPU百分比
- 0.0 wa:I/O等待占用CPU的百分比
- 0.0 hi:硬中断占用CPU的百分比
- 0.0 si:软中断占用CPU的百分比
- 0.0 st:虚拟机占用CPU的百分比
第四行:内存状态(单位KB)
- 1003420 total:物理内存总量
- 929148 used:使用中的内存总量
- 74272 free:空闲内存总量
- 0 buffers:缓冲的内存量
第五行:swap交换分区信息(单位KB)
- 2097148 total:交换区总量
- 320612 used:使用的交换区总量
- 1776536 free:空闲交换区总量
- 82544 cached Mem:缓存的内存量
第六行:
- PID:进程ID
- USER:进程所有者
- PR:进程优先级
- NI:nice值,负值表示高优先级,正值表示低优先级
- VIRT:进程使用功能的虚拟内存总量,单位为kb
- RES:进程使用的、未被换出的物理内存大小,单位为kb
- SHR:共享内存大小,单位kb
- S:进程状态。D=>不可中断的睡眠状态,R=>运行,S=>睡眠,T=>跟踪/停止,Z=>僵尸
- %CPU:上次更新到现在的cpu时间占用百分比
- %MEM:进程使用物理内存的百分比
- TIME+:进程使用的CPU时间总计,单位1/100秒
- COMMAND:进程命令
2、显示多核不同核CPU的信息,按键盘1即可切换
[root@localhost ~]# top
top - 01:21:12 up 1 day, 11:26, 2 users, load average: 0.00, 0.01, 0.05
Tasks: 350 total, 2 running, 348 sleeping, 0 stopped, 0 zombie
%Cpu0 : 0.0 us, 0.3 sy, 0.0 ni, 99.3 id, 0.0 wa, 0.0 hi, 0.3 si, 0.0 st
KiB Mem: 1003420 total, 929324 used, 74096 free, 0 buffers
KiB Swap: 2097148 total, 320612 used, 1776536 free. 82572 cached Mem
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
1 root 20 0 43964 2112 1252 S 0.0 0.2 0:03.06 systemd
2 root 20 0 0 0 0 S 0.0 0.0 0:00.11 kthreadd
#这里使用的是虚拟机,所以这里只有一个逻辑CPU
3、以批处理模式显示进程信息
[root@localhost ~]# top -b #命令执行结果不停向下刷新
4、显示进程的完整路径,而不是命令名称
[root@localhost ~]# top -c
top - 01:27:01 up 1 day, 11:32, 2 users, load average: 0.00, 0.01, 0.05
Tasks: 350 total, 2 running, 348 sleeping, 0 stopped, 0 zombie
%Cpu(s): 0.3 us, 0.2 sy, 0.0 ni, 99.3 id, 0.1 wa, 0.0 hi, 0.1 si, 0.0 st
KiB Mem: 1003420 total, 927432 used, 75988 free, 0 buffers
KiB Swap: 2097148 total, 320612 used, 1776536 free. 82592 cached Mem
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
6230 root 20 0 123860 1784 1152 R 6.3 0.2 0:00.01 top -c
1 root 20 0 43964 2112 1252 S 0.0 0.2 0:03.06 /usr/lib/systemd/systemd --switched-root --system --deserialize 21
2 root 20 0 0 0 0 S 0.0 0.0 0:00.11 [kthreadd]
3 root 20 0 0 0 0 S 0.0 0.0 0:10.76 [ksoftirqd/0]
...
5、设置top命令的刷新时间
[root@localhost ~]# top -d 10
top - 01:27:59 up 1 day, 11:33, 2 users, load average: 0.00, 0.01, 0.05
Tasks: 350 total, 2 running, 348 sleeping, 0 stopped, 0 zombie
%Cpu(s): 0.3 us, 0.2 sy, 0.0 ni, 99.3 id, 0.1 wa, 0.0 hi, 0.1 si, 0.0 st
KiB Mem: 1003420 total, 927308 used, 76112 free, 0 buffers
KiB Swap: 2097148 total, 320612 used, 1776536 free. 82596 cached Mem
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
6232 root 20 0 123832 1700 1088 R 13.0 0.2 0:00.02 top
2167 root 20 0 1016460 78740 2524 S 6.5 7.8 7:56.02 mongod
1 root 20 0 43964 2112 1252 S 0.0 0.2 0:03.06 systemd
...
7、显示指定进程的信息
[root@localhost ~]# top -p 2167
top - 01:28:58 up 1 day, 11:34, 2 users, load average: 0.00, 0.01, 0.05
Tasks: 1 total, 0 running, 1 sleeping, 0 stopped, 0 zombie
%Cpu(s): 0.0 us, 0.0 sy, 0.0 ni, 99.7 id, 0.0 wa, 0.0 hi, 0.3 si, 0.0 st
KiB Mem: 1003420 total, 927340 used, 76080 free, 0 buffers
KiB Swap: 2097148 total, 320612 used, 1776536 free. 82596 cached Mem
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
2167 root 20 0 1016460 78740 2524 S 0.3 7.8 7:56.13 mongod