Linux系统CPU性能评估

对于Linux系统观察CPU性能的工具许多,如sar, vmstat, mpstat 等,下面我们选最常用的vmstat做一个讲解说明。 由于不同的系统同样的命令,结果可能会有差异,如centos和ubuntu系统,有些命令一样,结果输出有差异,需要大家自行判别,下面都已Centos为例说明:

vmstat

利用 vmstat 命令可以对操作系统的内存信息、进程状态、CPU 活劢等进行监视。

命令: vmstat 2 3

表明每 2秒更新一次输出信息,统计3 次后停止输出。

下面是 vmstat 命令在某个系统的输出结果:

Linux系统CPU性能评估

对应每项的输出内容解释:

	procs
	r 列表明运行和等待 cpu 时间片的进程数,这个值如果长期大于系统 CPU 的个数, 说明 CPU 不足,需要增加 CPU。
	b 列表明在等待资源的进程数,列如正在等待 I/O、或者内存交换等。

	memory
	swpd 列表明切换到内存交换区的内存数量(以 k 为单位)。如果 swpd 的值不为0,或者比较大,只要 si、so 的值长期为 0,这种情况下一般不用担心,不会影 响系统性能。
	free 列表明当前空闲的物理内存数量(以 k 为单位)

	buff 列表明 buffers cache 的内存数量,一般对块设备的读写才需要缓冲。
	cache 列表明 page cached 的内存数量,一般作为文件系统 cached,频繁访问 的文件都会被 cached,如果 cache 值较大,说明 cached 的文件数较多,如果 此时 IO  bi 比较小,说明文件系统效率比较好。

	swap
	si 列表明由磁盘调入内存,也就是内存进入内存交换区的数量。
	so 列表明由内存调入磁盘,也就是内存交换区进入内存的数量。 一般情况下,si、so 的值都为 0,如果 si、so 的值长期不为 0,则表明系统内存不足。需要增加系统内存。

	IO 项显示磁盘读写状况
	Bi 列表明从块设备读入数据的总量(即读磁盘)(每秒 kb)。
	Bo 列表明写入到块设备的数据总量(即写磁盘)(每秒 kb)这里我们设置的 bi+bo 参考值为 1000,如果超过 1000,而且 wa 值较大,则表明系统磁  IO 有问题,应该思考提高磁盘的读写性能。

	system 显示采集间隔内发生的中断数
	in 列表明在某一时间间隔中观测到的每秒设备中断数。
	cs 列表明每秒产生的上下文切换次数。上面这 2 个值越大,会看到由内核消耗的 CPU 时间会越多。

	CPU 项显示了 CPU 的使用状态。
	us 列显示了用户进程消耗的 CPU 时间百分比。us 的值比较高时,说明用户进程 消耗的 cpu 时间多,但是如果长期大于 50%,就需要思考优化程序或算法。
	sy 列显示了内核进程消耗的 CPU 时间百分比。Sy 的值较高时,说明内核消耗的CPU 资源许多。根据经验,us+sy 的参考值为 80%,如果 us+sy 大于 80%说明可能存在 CPU 资源 不足。
	id 列显示了 CPU 处在空闲状态的时间百分比。
	wa 列显示了 IO 等待所占用的 CPU 时间百分比。wa 值越高,说明 IO 等待越严 重,提议wa 的参考值为 20%,如果 wa 超过 20%,说明 IO 等待严重, 引起 IO 等待的缘由可能是磁盘大量随机读写造成的,也可能是磁盘或者磁盘控制 器的带宽瓶颈造成的。

综上所述,在对 CPU 的评估中,需要重点注意的是 procs 项 r 列的值和 CPU 项中 us、sy 和 id 列的值。

© 版权声明

相关文章

暂无评论

none
暂无评论...