Linux性能优化实战——CPU调优

前言

        本文基于CPU核心性能指标系统原理,讲解使用排查工具查找常见性能问题,总结CPU调优的一般套路。

CPU性能指标工作原理

性能指标和工具对应关系

性能指标与工具

系统IOWAIT占用CPU过高问题排查?

一、top,观察系统整体CPU使用率、平均负载、软硬中断等性能指标,其中wa指标有明显变化。

二、再通过vmstat -S m -w 3 ,进一步观察系统总体情况,发现随着进程的负载到来,io中bi上升并稳定,cpu的wa大量堆积,b列也有不可中断进程。system的in和cs稳定。可见文件系统IO的读操作,导致了wa的堆积和b的处理不及时。而in和cs稳定后不再增长,说明中断情况和上下文切换都是由于文件系统IO读操作引起的正常切换和中断。

三、进一步通过,mpstat -u -A 1 监测系统各CPU指标项的占用情况。发现每个CPU的iowait均占用不少。再次确认目前系统CPU消耗在IO等待的性能过大。

四、最后通过 pidstat -wt -u 1 3 ,查看线程对CPU和上下文切换的占用情况,可见CPU的iowait占用较多的进程是flume-sdk进程;而自愿上下文切换列表中出现了kblockd/3进程,可见iowait引发了文件系统IO的自愿上下文切换。

总结

关于CPU性能问题主要围绕着CPU主要的性能指标展开,先使用top/mpstat/ps这种系统概要或进程快照的分析工具,先观察系统整体情况,确定哪个指标有明显问题;然后再使用vmstat进一步观察该指标的消耗进展,然后通过pidstat确定哪个进程导致的性能问题,最后使用进程分析工具找出具体问题。比如:perf进行热点事件分析或strace进行进程系统调用链分析。

最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容