MySQL CPU %sys 高的案例分析(三)

时间:2022-09-02 23:31:23

【现象】

最近有台服务器晚上CPU告警,系统抓取的故障期间的snapshot显示CPU %sys较高,同时context switch在300K以上。

是否过高的context switch引起的%sys消耗呢,做了下面的测试,来验证context switch与CPU %sys之间有没有直接的关系。

MySQL CPU %sys 高的案例分析(三)

【测试】

用mysqlslap并发100个线程执行select 1语句,可以看到QPS压到15W

MySQL CPU %sys 高的案例分析(三)

context switch已经达到300K左右,但CPU 的%sys在3%左右,并没有导致过高的消耗

MySQL CPU %sys 高的案例分析(三)

通过systemtap写的工具统计context switch的进程验证,是mysqld进程在频繁的context switch。

MySQL CPU %sys 高的案例分析(三)

【结论】

大量的context switch并不会直接引起的%sys消耗。定位类似的问题还需要借助perf工具来分析。可以看我前面的两篇分析CPU %sys消耗的文章。

MySQL CPU %sys高的案例分析(一)

MySQL CPU %sys高的案例分析(二)

MySQL CPU %sys 高的案例分析(三)