Linux CPU监控指标
- 格式:docx
- 大小:31.03 KB
- 文档页数:6
Linux提供了非常丰富的命令可以进行CPU相关数据进行监控,例如:top、vmstat等命令。top是一个动态显示过程,即可以通过用户按键来不断刷新当前状态。如果在前台执行该命令,它将独占前台,直到用户终止该程序为止,比较准确的说,top命令提供了实时的对系统处理器的状态监视,它将显示系统中CPU 最“敏感”的任务列表。该命令可以按 CPU 使用,内存使用和执行时间对任务进行排序;而且该命令的很多特性都可以通过交互式命令或者在个人定制文件中进行设定。
top命令提供如下参数:
示例
一
在控制台输入“top”,回车如下:
top命令输出信息包含两部分内容:
第一部分为统计信息,包含五行数据信息;第二部分为详细信息,显示了各个进程的详细信息。
有必要了解下统计信息部分的输出信息内容的含义:
示例
二
vmstat 命令,可以使您能够在同一行看到系统的内存、CPU 等使用情况,通常您可以用该命令来查看CPU 的利用率和饱和度。
先连接两个概念:
CPU利用率:CPU利用率可以使用 vmstat通过从 100减去 id 或者 us与 sy 之和来计算CPU 利用率
CPU饱和度:CPU 饱和度可以通过 vmstat 命令的“procs:r”来作为衡量标准,由于它是所有 cpu 运行队列的合计值,因此将 procs:r 除以 CPU 数目所得到的值可与其他服务器相比较。
任何持续不变的非零值都会引起性能的下降,但性能的下降是逐渐的。
vmstat命令参数如下:
vmstat [-n] [delay [count]]
每隔 1 秒钟显示一次 vmstat监控信息
然后了解下输出信息内容各部分代表的含义:
示例
三
还可以通过“uptime”命令来获得 CPU 平均负载的情况。平均负载的计算通常描述为可运行和运行线程的平均数目。举例来说,如果一枚单CPU 服务器上有1 个运行线程占用了 CPU,有3 个运行进程在调度程序队列中,那么平均负载即为 1+3=4。对于一枚 16CPU 的服务器,负载是16 个运行线程,有 24 个运行进程在调度程序队列中,那么平均负载是 40。如果平均负载始终高于CPU 的数目,则可能导致应用程序性能的下降。需要说明的是平均负载只适用于CPU 负载的初始估算,深入的分析我们还需要借助于其他工具来做。再对 CPU平均负载有一个初步了解以后,让我们来看看该命令是如何使用的,它的输出内容又包含那些内容。
因为“uptime”命令仅提供了一个可选参数项“V”,即:显示该命令的版本信息,所以不用叙述了。
在控制台输入“uptime”,回车执行后,运行结果:
可以看到“load average:0.53,0.65,0.34”即为 CPU 平均负载对应系统在第 1分钟,5 分钟和 15 分钟的平均负载值。同时它们也代表 CPU 利用率和饱和度。如果 CPU 数目和平均负载的值相等,通常代表 100%的 CPU利用率,小于 CPU数目,则表示利用率小于 100%,大于 CPU数目需要用饱和度来衡量。