聊聊Linux性能优化那些事四(如何快速分析出系统CPU的瓶颈以及如何优化)

CPU性能指标

   首先,最容易想到应该是CPU使用率,CPU使用率描述了非空闲时间占总CPU时间的百分比,根据CPU上运行任务的不同,又被分为用户CPU、系统CPU、等待I/OCPU、软中断和硬中断等

  用户CPU使用率,包括用户CPU使用率(user)和低优先级用户态CPU使用率(nice),表示CPU在用户态运行的时间百分比。用户CPU使用率高通常说明有应用程序繁忙

 系统CPU使用率:表示CPU在内核运行的时间百分比(不包括中断)。系统CPU使用率高说明内核比较繁忙。

等待I/O的CPU使用率:iowait,标识等待I/O的时间百分比。高的话通常说明系统与硬件设备的I/O交互时间比较长。

软中断和硬中断CPU使用率:标识内核调用软/硬中断处理程序的时间百分比。使用率高通常说明系统发生了大量的中断

第二个就应该是平均负载了。它反映了系统的整体负载情况,主要包括三个数值。理想情况下,平均负载等于逻辑CPU个数,标识每个CPU都恰好被充分利用。如果大于CPU个数,表示负载比较重

第三个就是进程的上下文切换

上下文切换本来是保证Linux正常运行的一项核心功能。但是过多的上下文切换,会将原来运行进程的CPU实际,消耗在寄存器、内核栈以及虚拟内存等数据的保存和回复上,缩短进程真正运行的实际,称为性能瓶颈

性能工具:

为了缩小排查范围,一般我会先运行几个支持指标最多的工具,如 top、vmstat和pidstat

发布了83 篇原创文章 · 获赞 87 · 访问量 10万+

猜你喜欢

转载自blog.csdn.net/ligupeng7929/article/details/89921613