1、top命令功能简介
top是Linux常用的性能分析工具,能够实时显示各个进程使用资源的情况。
2、top显示信息详解
[root@vms002 rh134]# toptop - 12:00:29 up 1 day, 1:11, 4 users, load average: 0.00, 0.01, 0.11Tasks: 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 stKiB Mem : 4033636 total, 2105296 free, 682480 used, 1245860 buff/cacheKiB 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 #进程IDUSER #进程的所有者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环境设置~/.toprcq #退出
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