前言
本文基于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进行进程系统调用链分析。
网友评论