1. 程式人生 > >MySQL CPU %sys 高的案例分析(三)

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

【現象】

最近有臺伺服器晚上CPU告警,系統抓取的故障期間的snapshot顯示CPU %sys較高,同時context switch在300K以上。

是否過高的context switch引起的%sys消耗呢,做了下面的測試,來驗證context switch與CPU %sys之間有沒有直接的關係。

【測試】

用mysqlslap併發100個執行緒執行select 1語句,可以看到QPS壓到15W

context switch已經達到300K左右,但CPU 的%sys在3%左右,並沒有導致過高的消耗

通過systemtap寫的工具統計context switch的程序驗證,是mysqld程序在頻繁的context switch。

【結論】

大量的context switch並不會直接引起的%sys消耗。定位類似的問題還需要藉助perf工具來分析。可以看我前面的兩篇分析CPU %sys消耗的文章。