1、top命令功能简介
top是Linux常用的性能分析工具,能够实时显示各个进程使用资源的情况。
2、top显示信息详解
[root@vms002 rh134]# top top - 12:00:29 up 1 day, 1:11, 4 users, load average: 0.00, 0.01, 0.11 Tasks: 504 total, 1 running, 503 sleeping, 0 stopped, 0 zombie %Cpu(s): 0.2 us, 0.3 sy, 0.0 ni, 99.5 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st KiB Mem : 4033636 total, 2105296 free, 682480 used, 1245860 buff/cache KiB Swap: 4194300 total, 4194300 free, 0 used. 3062188 avail Mem PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 58709 root 20 0 130412 2220 1276 R 0.7 0.1 0:00.06 top 852 root 20 0 269016 4388 3536 S 0.3 0.1 1:38.79 vmtoolsd 1996 jerry 20 0 1066404 24132 15144 S 0.3 0.6 0:03.18 gnome-settings- 1 root 20 0 60716 8164 2720 S 0.0 0.2 0:11.44 systemd
信息详解:
1)第一行:top
12:00:29 #当前时间 up 1 day, 1:11, #已运行时间 4 users, #当前连接用户 load average: 0.00, 0.01, 0.11 #平均负载
2)第二行:Tasks
504 total, #当前运行的总进程数 1 running, #正在运行的进程数 503 sleeping, #挂起的进程数 0 stopped, #停止的进程数 0 zombie #僵尸进程数
3)第三行:%Cpu(s) 有(s)表示有多个CPU
0.2 us, #用户占用的CPU百分比 0.3 sy, #系统占用的CPU百分比 0.0 ni, #调整过优先级的进程占用CPU百分比 99.5 id, #空闲时间占用CPU百分比 0.0 wa, #等待(等待I/O输入输出)时间占CPU百分比 0.0 hi, #CPU硬中断所耗费的时间总额 0.0 si, #CPU软中断所耗费的时间总额 0.0 st #被偷走的占用时间百分比
这里的CPU时间百分比是平均值,按1即可展开全部CPU的详细信息
4)第四行:KiB Mem
4033636 total, #物理内存总量 2105296 free, #空闲物理内存 682480 used, #已使用的物理内存 1245860 buff/cache #缓冲/缓存 内存
5)第五行:KiB Swap
4194300 total, #交换区总量 4194300 free, #空闲的交换区 0 used. #已使用的交换区 3062188 avail Mem
6)进程信息:
PID #进程ID USER #进程的所有者 PR #实时优先级(共140个级别) NI #优先级 VIRT #进程使用的虚拟内存 RES #进程使用的真实内存 SHR #共享内存 S #进程状态 %CPU #进程的CPU占用率 %MEM #进程的内存占用率 TIME+ #进程占用的总CPU时间片段 COMMAND #进程名称
3、top其他的交互指令:
h|? #帮助 M #按内存的使用排序 P #按CPU的使用排序 N #以PID的大小排序 R #对排序进行反转 r #修改进程优先级 k #杀死进程 s #多长时间更新一次信息,秒为单位 f #自定义显示字段 1 #显示所有CPU的负载 < #向前 > #向后 z #彩色 W #保存top环境设置~/.toprc q #退出
4、需要被监控的:
1)top 中第一行的load average平均负载,需要被监控。命令如下所示:
[root@vms002 rh134]# top -bn1|head -1|awk -F: '{print $NF}' 0.00, 0.01, 0.05
2)第二行的Tasks也需要监控,监控是否有僵尸进程。命令如下所示:
[root@vms002 rh134]# top -bn1|sed -n '2,2p'|awk -F, '{print $NF}' 0 zombie