使用 ps 命令可以一次全部给出当前系统中进程的状态,但缺乏时效性。当需要实时监控进程的运行情况,就必须不停地执行 ps 命令,这样操作明显缺乏效率。
这时就需要使用 top 命令,top 命令可以动态地持续监听进程地运行状态。该命令的语法格式为:
[root@logon ~]# top [选项]
top 命令常用的选项及作用如表 1 所示。
表 1 top命令常用选项及作用
选 项
作 用
-d 秒数
指定 top 命令每隔几秒进行刷新。默认是 4s
-b
使用批处理模式输出。一般和“-n”选项合用,用于把 top 命令重定向到文件中
-n 次数
指定 top 命令执行的次数。一般和“-”选项合用
-p 进程PID
仅查看指定 ID 的进程信息
-s
使 top 命令在安全模式中运行,避免在交互模式中出现错误
-u 用户名
监听某个用户的进程
【例 1】top 命令的使用。在终端页面输入如下命令:
[root@logon ~]# top
top - 07:21:35 up 3:30, 2 users, load average: 0.08, 0.24, 0.20
Tasks: 233 total, 1 running, 232 sleeping, 0 stopped, 0 zombie
Cpu(s): 0.3%us, 0.2%sy, 0.0%ni, 99.5%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st
Mem: 3908800k total, 897676k used, 3011124k free, 67228k buffers
Swap: 2031608k total, 0k used, 2031608k free, 456472k cached
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
2446 root 20 0 200m 40m 8924 S 4.3 1.0 0:44.50 Xorg
2821 root 20 0 290m 13m 9556 S 2.3 0.4 0:15.44 gnome-terminal
1 root 20 0 19364 1536 1228 S 0.0 0.0 0:02.97 init
2 root 20 0 0 0 0 S 0.0 0.0 0:00.02 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.07 ksoftirqd/0
5 root RT 0 0 0 0 S 0.0 0.0 0:00.00 migration/0
......
top 命令的输出内容是动态的,默认每隔 3s 刷新一次。命令的输出主要分为两部分:
第一部分是前 5 行,显示的是整个系统的资源使用状况,通过这些输出来对资源服务器的使用状态进行判断。
第二部分从第 6 行开始,显示的是系统中进程的信息。
上面输出信息中:
第 1 行top -之后的内容表示这个系统的当前时间是 01:13:08,该系统已经运行了 2 小时 36 分钟,目前系统上有 2 个用户。load average 显示的是在过去 10 分钟系统的平均负载,其中的 3 个数字分别代表现在 1 分钟前、5 分钟前和 10 分钟前系统的平均负载。
第 2 行分别显示系统中的进程总数、正在运行的进程数、睡眠的进程数、停止的进程数、僵尸进程数。
第 3 行表示进程的空闲、等待和中断服务所占 CPU 的百分比。
第 4 行表示与内存有关的信息,它们表示系统总的内存(total)为 995 896 KB、所使用的内存(used)为 635 320 KB、空闲的内存(free)为 70 528 KB、作为缓冲的内存为 290 048 KB。
第 5 行显示的是与交换区有关的信息,它们表示系统总的交换区(total)大小为 2 097 148 KB、所使用的交换区(used)为 10 308KB、空闲的交换区(free)也为 2 086 840KB、作为缓存的交换分区的大小为 121 308KB。