解密“top”命令

系统 Linux
当对服务器的性能好奇时,我第一个想到的是"top"命令。top不是最好的,它不是一个长期的快照,但是它提供了服务器的一个不错的时间点快照,并且试着提供了告诉"现在在发生什么?"。

当对服务器的性能好奇时,我第一个想到的是"top"命令。top不是最好的,它不是一个长期的快照,但是它提供了服务器的一个不错的时间点快照,并且试着提供了告诉"现在在发生什么?"。不幸地,如果你没有深入了解不同显示域的意义,top的输出很容易被误解。

我不会完整解读top命令的man page,当你和时间和意愿时,它一直在那等着你。我想要做的是指出一些我如何得到系统的快速概况的几个要点,并希望得到我接下来该怎么做的指示。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中国
相关推荐

2014-07-24 11:37:54

LinuxTop命令

2013-12-17 10:39:24

命令top

2023-12-27 14:08:00

LinuxTop命令工具

2009-12-16 14:10:42

Linux终端命令

2011-08-23 10:11:10

LinuxTop命令

2022-03-25 09:39:50

LinuxLinux top

2014-06-04 10:04:11

htoptop

2012-05-09 10:52:37

Linux监控命令

2022-04-11 07:50:58

top 命令Java 系统JVM 进程

2019-12-04 12:28:24

TOP命令Linux

2012-03-13 15:03:27

2012-05-07 08:23:02

top监控命令FreeBSD

2009-10-27 16:34:02

linux top命令

2013-04-24 15:25:05

CentOStop命令CPU负载

2024-04-11 13:27:19

Linuxtop命令

2022-03-28 15:51:45

Linuxtop 命令

2022-02-08 08:57:58

命令工具C 语言

2018-08-21 09:00:30

Linuxtop命令

2021-08-10 11:45:57

topCPULinux

2019-12-24 07:55:20

Linuxtop命令
点赞
收藏

51CTO技术栈公众号