MySQL所有的压力都在一个CPU核心上,为什么会产生这种现象,改如何解决? 一、为什么会产生这种现象? 事实上,并不是所有压力都在一个逻辑CPU上,其实是因为MySQL还不支持并行计算,因此一个会话中的SQL只会被分配到一个逻辑CPU上。 之所以出现这种现象,大概率是因为下面几种情况: 1、某个会话中正在执行慢SQL,尚未结束。 2、某个会话中的SQL开启了大事务,并且持有很多行锁或等待很多行锁,该事务尚未结束。 二、如何解决? 1、检查是否有慢SQL,并进行优化。 2、尽量不使用大事务,拆分成小事务。 3、记住老司机的名言,当mysqld进程消耗CPU很高时,极大概率是有些SQL没索引导致。 4、也可以尝试用perf top工具来排查具体什么原因导致。