发布:Deciphering Top

This commit is contained in:
wxy 2013-11-23 20:25:07 +08:00
parent 95dcb49dbd
commit a15fe4156a
2 changed files with 33 additions and 32 deletions

33
published/Deciphering Top.md Executable file
View File

@ -0,0 +1,33 @@
解密"top"命令
================================================================================
当对服务器的性能好奇时,我第一个想到的是"top"命令。top不是最好的它不是一个长期的快照但是它提供了服务器的一个不错的时间点快照并且试着提供了告诉"现在在发生什么?"。不幸地如果你没有深入了解不同显示域的意义top的输出很容易被误解。
我不会完整解读top命令的[man page][2]当你和时间和意愿时它一直在那等着你。我想要做的是指出一些我如何得到系统的快速概况的几个要点并希望得到我接下来该怎么做的指示。top是我在故障排除时的第一站但这很少会是我唯一的一站。
[![](http://farm4.staticflickr.com/3827/10847969205_5005a709c2_o.png)][1]
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
译者:[geekpi](https://github.com/geekpi) 校对:[wxy](https://github.com/wxy)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
[1]:http://www.flickr.com/photos/51724787@N06/10847969205/
[2]:http://www.linuxmanpages.com/man1/top1.php

View File

@ -1,32 +0,0 @@
解密"top"
================================================================================
当对服务器的性能好奇时,我第一个想到的是"top"命令。top不是最好的它不是一个长期的快照但是它提供了服务器的一个像样的时间点的快照并且尝试回答了问题"现在在发生什么?"。不幸地top的输出很容易被误解如果你没有很好地理解数据显示的不同域。
我不会完整解读top命令的[man page][2]当你和时间和意愿时它一直在那等着你。我想要做的是指出一些我如何得到系统的快速概况的几个要点并希望得到我接下来该怎么做。top是我在故障排除时的第一站但这很少是我唯一的一站。
[![](http://farm4.staticflickr.com/3827/10847969205_c1b75f9fa2_m.jpg)][1]
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'这个交互命令触发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
译者:[geekpi](https://github.com/geekpi) 校对:[校对者ID](https://github.com/校对者ID)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
[1]:http://www.flickr.com/photos/51724787@N06/10847969205/
[2]:http://www.linuxmanpages.com/man1/top1.php