linux下的top命令,可以用来实时监控服务器的健康状况。该命令能够获取到的信息非常多,是服务器运维工程师最好的帮手之一。我们知道,ps这个命令可以监控某一时刻,服务器上各进程的运行情况,相对比ps,top命令则可是持续监控。
top [选项]
常用选项如下:
-d 屏幕刷新间隔时间,默认为5秒
-n 共刷新屏幕的次数
-u 指定用户名
-p 指定进程ID
下面,我们看看top命令产生出的信息内容
首先我们来看第一行
top - 14:55:21 表示系统当前时间
up 12 days, 1:28 表示服务器自上次启动后持续运行的时间
1 user 当前系统有多少个用户已登陆
load average: 0.17, 0.09, 0.13 表示系统在过去1分钟、5分钟、15分钟的工作负载情况。负载表示系统在同时运行几个程序。对于单核cpu,负载小于1表示正常,如果有4块cpu并且都是两核,那么负载小于8是正常的。
继续看第二行,第二行是给出系统所有进程的总体信息,总共有多少191个进程,1个进程正在运行中,190进程在休眠中。
第三行显示cpu的使用信息
us 表示用户进程占用的cpu百分比,如果是多核,这个表示的是平均值,可以按1来显示每个cpu的使用情况。
sy 表示内核空间占用的cpu百分比
id 表示空闲时间占cpu的百分比
wa表示I/0 wait,即等待输入输出的cpu时间百分比
第四行和第五行分别显示的是内存的使用情况、swap空间的使用情况。
对于top命令,我们不仅要知道几个选项的意义,更需要知道一些交互命令。这些交互命令可以让我们非常方便的查询想要的信息。常用的两个交互命令如下:
P:根据CPU使用百分比大小进行排序;
M:根据驻留内存大小进行排序
c:切换显示命令名称和完整命令行
介绍完top命令后,下面给出一个日常运维中非常有用的小方法。当我们知道了某个进程比较占用资源,那么可能就需要去监控这个进程一段时间,如果一直耗资源,就需要采取相应的措施了。比如,我们知道了mysql进程比较耗资源,并且知道了它的pid为1992,那么我们用top来监控该进程一段时间看看。
top -p 1992
以上是全面详解linux下的top命令——实时监控服务器状况的详细内容。更多信息请关注PHP中文网其他相关文章!