top输出详解

常用快捷

按键“1”:查看每颗cpu负载
按键“c”:查看进程启动命令

top输出解释

  • Introduction title
task explanation
02:41:47 系统当前时间
up 系统运行时间64天
user 当前登录用户数,可以使用w系统命令进行查看具体用户登录信息
load average 系统cpu负载,表示任务队列1分钟、5分钟、15分钟的平均负载,该数值理论上应该小于cpu核心数
Tasks 系统当前共有99个进程,1个处于运行状态(running),98个处于睡眠状态(sleeping),0个处于停止状态(stopped),0个处于僵尸状态(zombie)
us user,用户进程占用cpu
sy system,系统进程占用cpu
ni nice,用户的进程nice值,表示优先级,没有改变过就是0
id idle,处于空闲的cpu
wa wait,等待的io输入输出
hi hardware interrupt,硬件中断请求占cpu的时间
si software interrupt,软件中断请求占cpu的时间
st steal time,虚拟服务占用cpu时间的百分比,一般应用的机器上都是0, IBM解释为当 hypervisor 服务另一个虚拟处理器的时候,虚拟 CPU 等待实际 CPU 的时间的百分比
Mem 总共的内存为16,已使用15G,还剩1G空闲,buffers和cached都属于缓存,后面写buffer和cache的区别
Swap 交换分区大小为0

Steal 值比较高的话,你需要向主机供应商申请扩容虚拟机。服务器上的另一个虚拟机可能拥有更大更多的 CPU时间片,你可能需要申请升级以与之竞争。另外,高 steal 值可能意味着主机供应商在服务器上过量地出售虚拟机。如果升级了虚拟机, steal 值还是不降的话,你应该寻找另一家服务供应商。
低 steal 值意味着你的应用程序在目前的虚拟机上运作良好。因为你的虚拟机不会经常地为了 CPU 时间与其它虚拟机激烈竞争,你的虚拟机会更快地响应。这一点也暗示了,你的主机供应商没有过量地出售虚拟服务,绝对是一件好事情。

  • processes info
name explanation
PID 进程标识符
USER 进程所有者
PR 进程执行优先级
NI nice值,负值表示高优先级
VIRT 进程使用的虚拟内存,单位kb,VIRT=swap+RES
RES 进程使用的未被换出的内存大小,RES=CODE+DATA
SHR 共享内存大小
S 进程状态
%CPU 上次更新到现在的cpu时间占用百分比
%MEM 进程使用武力内存百分比
TIME+ 进程使用cpu内存总计,单位1/100s
COMMAND 进程被执行的命令名称