命令 top 动态监控进程所占系统资源
用 top 命令显示进程所占的系统资源
这个命令用于动态监控进程所占系统资源,每隔 3 秒变一次。这个命令的特点是把占用系统资源(CPU,内存,磁盘 IO 等)最高的进程放到最前面。
命令 top 用法
语法: top [options]
Options:
-b:批量处理模式;
-c:显示详细进程信息;
-bn1:静态显示所有进程(该法多用于 shell 脚本);
[root@adai003 ~]# top
top - 23:28:08 up 12:24, 2 users, load average: 0.00, 0.01, 0.05
Tasks: 84 total, 1 running, 83 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 : 1008392 total, 754160 free, 113712 used, 140520 buff/cache
KiB Swap: 2097148 total, 2097148 free, 0 used. 740452 avail Mem
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
490 root 20 0 302840 6340 4780 S 0.3 0.6 1:42.80 vmtoolsd
1 root 20 0 125048 3560 2400 S 0.0 0.4 0:02.13 systemd
2 root 20 0 0 0 0 S 0.0 0.0 0:00.01 kthreadd
3 root 20 0 0 0 0 S 0.0 0.0 0:00.21 ksoftirqd/0
6 root 20 0 0 0 0 S 0.0 0.0 0:01.39 kworker/u128:0
……
注: 在 top 状态下(按 q 退出),按 shift+m 可以按内存使用大小进行排序(默认以 CPU 使用占比排序),按 shift+p 恢复按 CPU 使用占比排序,,按数字 1 可以显示每个 CPU 的状态。
说明:
- 第一行是系统负载(loadaverage);
- 第二行是进程数(Tasks);
- 第三行是 CPU 使用信息;
- 第四行是内存使用信息;
- 第五行是交换区使用信息 ;
- 最下面是进程详细信息:
RES:表示进程所用物理内存大小(单位:KB)
%MEM:表示内存使用百分比(单位:KB)
注意:
%CPU, %MEM, COMMAND 这些项目所代表的意义,RES 这一项为进程所占内存大小,而 %MEM 为使用内存百分比。在 top
状态下,按 “shift + m”, 可以按照内存使用大小排序。按数字 ‘1’ 可以列出各颗 cpu 的使用状态,按 q 键可以退出 top。
- 另外经常用的一个命令 top -bn1 它表示非动态打印系统资源使用情况,可以用在 shell 脚本中:
[root@localhost ~]# top -bn1
top - 16:44:12 up 4:54, 3 users, load average: 0.54, 0.18, 0.05
Tasks: 78 total, 1 running, 77 sleeping, 0 stopped, 0 zombie
Cpu(s): 1.4%us, 3.3%sy, 0.0%ni, 93.3%id, 1.4%wa, 0.1%hi, 0.5%si, 0.0%st
Mem: 326616k total, 318672k used, 7944k free, 62704k buffers
Swap: 2097144k total, 588k used, 2096556k free, 177848k cached
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
7236 root 20 0 2936 1220 624 D 7.8 0.4 0:03.22 ls
7237 root 20 0 2568 956 760 R 1.9 0.3 0:00.03 top
1 root 20 0 2900 800 652 S 0.0 0.2 0:01.52 init
2 root 20 0 0 0 0 S 0.0 0.0 0:00.00 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:11.08 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.94 watchdog/0
7 root 20 0 0 0 0 S 0.0 0.0 0:04.38 events/0
和 top 命令唯一的区别就是,它一次性全部把所有信息输出出来而非动态显示。