【现象】

最近有台服务器晚上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消耗的文章。

 

 

版权声明:本文为wangdong原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/wangdong/p/10002127.html