在担任基础设施工程师 20 年后,我第一次了解到如何使 top 命令的显示变得更容易阅读。
你好,我是Seiken,来加拿大还不到一年,但我的英语一点进步都没有,我还是用“I'm fine with you”回复“how are you?”。
top命令深受所有基础设施工程师的喜爱,并且可能是Beyond中您在操作服务器时学到的第一个命令。
事实上,你可以用很深的命令做很多事情,所以直到现在我一直在告诉我的后辈我老板的尊严,说“我可以做到这一点”,以及我作为前辈的经验,但我我也想向您介绍一种我最近才了解到的超级方便的使用方法。
有点长,但请耐心等待。
正常运行top命令时,会显示如下界面。
仅此一项就包含了服务器操作的重要信息,但我认为关于如何使用 top 命令还有很多其他解释,因此我将在这里省略。
这次,我将使这个 top 命令的最终显示如下所示。
有5点
- 显示详细信息,例如进程参数
- 添加显示项目并更改显示顺序
- 显示具有 RUNNING 状态的进程并以粗体显示排序列
- 更改排序顺序
- 保存设置(这是最重要的)
我们立即尝试一下
显示详细信息,例如进程参数
这个很简单,按c键
如果您第一次使用 -c 选项运行 top 命令,也会出现相同的结果,但
如果您不小心忘记了 -c 选项,它也很有用
添加显示项目并更改显示顺序
在日常运营工作中,我们不仅会处理客户服务或进程停止等紧急情况,还会监控CPU和内存的使用率,以快速发现服务器资源即将耗尽的情况并采取措施。防止故障。
这种情况下经常用到的三个指标是CPU使用率、内存使用率、SWAP使用率,但是top命令中默认不显示SWAP使用率。
但是,顶部有许多通常隐藏的字段,您还可以显示 SWAP 使用情况。
我们开始做吧
按 Shift+f 切换到“字段管理”屏幕,如下所示。
这次,我想将 SWAP 的使用量添加到显示中,因此使用上下光标键移动到 SWAP 项目。
当按下空格键时,项目的左侧会添加*,并且会添加到该状态下的显示项目中。
如果继续这样下去,显示顺序将在 COMMAND 之后,因此应该显示在 %MEM 之后,以便于与其他指标进行比较。
如果按下右光标键,光标的选定状态会扩大一点,您就可以移动它。
使用上下光标键移动到所需位置
移动完成后,按左光标键恢复选择状态并固定位置。
使用 q 或 Esc 键退出“字段管理”屏幕
SWAP 项目已添加到 %MEM 旁边。
显示状态为 RUNNING 的进程并以粗体显示排序列
现在更容易直观地理解,让我们以粗体显示具有 RUNNING 状态的进程和当前排序的列。
我们还可以更改显示屏幕的颜色。
按 Shift+z,屏幕将变为下图所示。
您可以更改每个字段的颜色,但由于某种原因默认为红色。
它有点有毒,所以按7把它变成白色。
上面的“Summary Data”字段也是红色的,所以按“shift+S”切换要更改颜色的字段,同样按7将其更改为白色。
如果你按shift+s,“1) Select a target asu an upper case letter....”就会改变,有点难以理解。
如果你输入一个数字,它就会变成你喜欢的颜色,我尝试了很多,但最终我选择了7(白色)
。除了白色之外还有很多其他颜色,所以你可以选择你喜欢的颜色。这里。
要保存此状态并退出,请按“Enter”
如果您之前选择的屏幕颜色设置被保存,则表示成功。
此外,从这里开始,让我们以粗体显示状态为 RUNNING 的进程,并以粗体显示当前正在排序的字段。
按 x 键将使您要排序的字段变为粗体,按 y 键将以粗体显示状态为 RUNNING 的进程。
在 Mac 终端上有点难以区分,但是...排序字段 (%CPU) 和状态 (S) 为 RUNNING(R) 的进程(在本例中为 top 命令)以粗体突出显示。你看到了
更改排序顺序
我认为到目前为止,常用的 top 命令已经变得更容易使用了。
在日常操作中,我们需要调查客户服务器上发生警报的原因,因此我们经常希望按内存使用率或 SWAP 使用率进行排序,而不是仅显示默认的 CPU 使用率。
在这种情况下,您可以使用“shift+<”或“shift+>”将要排序的字段向左或向右移动
有点难以理解,但我尝试将排序顺序更改为 %CPU → %MEM → SWAP 和 shift+>
还有快捷键:shift+p(按 %CPU 排序)和 shift+m (按 %MEM 排序) )。
保存设置(这是最重要的)
最后,让我们保存到目前为止所做的设置。我们
尝试过以各种方式更改显示,但是如果您按原样退出 top 命令,则下次单击 top 命令时它将返回到原始状态。
每次都重复这个步骤很麻烦,所以
如果要保存当前显示状态,请按“shift+w”
运行top命令的用户的主目录中会生成一个名为.toprc的文件,用于保存当前设置。
顺便说一句,到目前为止的一些解释都是针对 RedHat7 系列(CentOS7、Amazon Linux2)的 top 命令。
其他操作系统的 top 命令可能需要稍微不同的操作,但它可以做几乎相同的事情,那么
怎么样?其他操作系统你会这样做吗?如果您有这样的要求(尽管可能不会),我会回复。
这将帮助您为明天开始的监控警报做好准备!
也许只是我们,但我们希望这篇文章对某人有所帮助。