解密"top"命令
top命令我第一个看的是平均负载(load average),它在右上角的屏幕上。平均负载的计算是基于统计搜集到的数量,但是通常可以认为是CPU被请求工作的数量。如果你的机器有一个单核CPU,那么平均负载是1就意味着机器满载的,并且有足够的能力在采样时间内完成任务。同样地,如果平均负载是2,那对单核的CPU是超载的,并需要2个可用内核才能在同样的采样时间内完成的要求的任务。随着8、16、32核的发售,我会在判断平均负载的时候就要注意一下。比如我需要去检测时,我会在top里按了数字"1",这会列出所有CPU核列表,这样我就可以得到一个快速计数用于比较负载。
我检查的第二项是上面列出来的内容的第9列,标记着"%CPU"那个。对这一列的解释是很模糊的:
任务所分享的上次屏幕刷新后的CPU运行时间,以全部的CPU时间百分比表示。在一个真正的SMP(多处理器)环境中,如果'Irix mode'是关闭的,top会在'Solaris mode'下运行,这里一个任务的cpu使用率将除以全部的CPU数量。你可以用'I'(大写字母I)这个交互命令触发Irix或Solaris模式。
一点也不清楚,是么?这里要记住的主要意思是,如果单个进程由于某个原因或者其他因素占用率升高,那么他很有可能会以%CPU很高的数字显示在top的第一行。
我下一个注意到的区域是"Cpu(s):"这一行,在头部信息的中间。特别地,我对%us、sy%、%id、和%wa感兴趣,它们分别是用户进程、系统进程、空闲时间和CPU用于等待I/O流执行的时间比例。这个百分比应该接近于0,高于5%时需要密切关注。
最后,我想要看看系统up时间,这显示在左上角。如果我对一台服务器有疑问,并且这台服务器最近重启过,这里可能会发现一些什么,或许是一个守护进程没有启动。
这些检查只需要几秒。如果我只是观察,我可能让top运行几分钟并观察进程、CPU和负载,但是通常地我很快地进入和退出top。top是给你一个系统健康概况的那些奇妙系统管理员工具之一,并允许你快速诊断潜在的问题。
via: http://ostatic.com/blog/deciphering-top
本文转载来自 Linux 中国: https://github.com/Linux-CN/archive