我对我最近在所有运行 MySQL 的 EC2 实例时遇到的问题非常好奇。UTC 时间 7 月 1 日凌晨 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 hostname kernel: [14152976.187987] Clock: inserting leap second 23:59:60 UTC
我认为我没有为 MySQL 启用日志记录。无论 Ubuntu 12.04 的默认设置是什么,我都在使用它。如果有什么不同的话,大多数数据库都是 InnoDB。
前一天,一个实例受到 EBS 连接问题的影响,导致服务器在访问磁盘时响应极慢。我不相信另一个实例受到影响(它在另一个 AWS 账户中,并且在“中断”期间响应正常),但我不能 100% 确定。我想知道这是否可能导致 MySQL 发疯?但是为什么要等到午夜呢?(小心!这可能是这个谜团中的“红鲱鱼”)
关于可能导致此问题的任何想法?