MySQL从7月1日午夜开始消耗80-100%的CPU,大约是EBS连接问题之后的一天

MySQL从7月1日午夜开始消耗80-100%的CPU,大约是EBS连接问题之后的一天,mysql,amazon-ec2,cpu,amazon-ebs,Mysql,Amazon Ec2,Cpu,Amazon Ebs,我对最近所有运行MySQL的EC2实例遇到的一个问题非常好奇。7月1日UTC上午12:00,我的两个Amazon EC2实例(在美国东部地区运行)都发出警报,指示CPU使用率高。我调查发现是MySQL消耗了所有的CPU。我登录并运行了SHOW PROCESSLIST,发现没有运行任何查询()(这些服务器在工作时间后不会受到太多的影响)。我停止了MySQL,CPU利用率下降到1-3%(正常情况下)。我重新启动了MySQL,它又开始消耗大量的CPU。然后,我重新启动服务器shutdown-r now

我对最近所有运行MySQL的EC2实例遇到的一个问题非常好奇。7月1日UTC上午12:00,我的两个Amazon EC2实例(在美国东部地区运行)都发出警报,指示CPU使用率高。我调查发现是MySQL消耗了所有的CPU。我登录并运行了
SHOW PROCESSLIST
,发现没有运行任何查询()(这些服务器在工作时间后不会受到太多的影响)。我停止了MySQL,CPU利用率下降到1-3%(正常情况下)。我重新启动了MySQL,它又开始消耗大量的CPU。然后,我重新启动服务器
shutdown-r now
,问题就消失了。两台服务器都有完全相同的问题(运行Ubuntu 12.04 LTS)

我在系统日志中看到的唯一相关项是:


Jun 30 23:59:59主机名内核:[14152976.187987]时钟:插入闰秒23:59:60 UTC

我认为我没有为MySQL启用日志记录;无论Ubuntu 12.04的默认设置是什么,我都在使用它。如果有什么区别的话,大多数数据库都是InnoDB

前一天,一个实例受到EBS连接问题的影响,这导致服务器在访问磁盘时响应极慢。我不相信另一个实例已经生效(它在另一个AWS帐户中,在“停机”期间响应正常),但我不能100%确定。我想知道这是否会让MySQL变得疯狂?但是为什么要等到午夜呢?(当心!这可能是这个谜中的“红鲱鱼”)


有没有想过是什么原因导致了这个问题?

我认为原因是闰秒错误。你可以在任何地方找到关于这一点的帖子:)

阅读更多或更多


一个快速的解决方案是停止ntpd守护进程,同步时钟并重新启动守护进程。当然,一些系统更新不会有什么坏处:)

退房。我想这就是你遇到的问题。

谢谢@golja。在进一步研究这个问题之后,我在今年早些时候发现了Linux内核的这个补丁:我仍然每天午夜都会遇到这个问题。我在DigitalOceane上运行Ubuntu18.04 LTS谢谢你的提问,直到今天我才注意到我的EC2实例上的这种利用率,这里的答案让我松了一口气,我试图弄清楚当我的工作得到100%的cpu利用率时,谁都可以使用AWS:-)