为什么 MySQL 的 CPU 运行率达到 80% 左右?

为什么 MySQL 的 CPU 运行率达到 80% 左右?

据我所知,MySQL 不知为何占用了我大约 80% 的 CPU。目前这台服务器很少使用,更像是我设置的测试站点,一旦我修复了这样的小问题,最终将用于生产。我运行了 3 个 MySQL 实例,但似乎我的第一个实例占用了所有的 CPU。当我关闭第一个实例并让其他两个实例保持打开状态时,一切都运行正常。

有什么建议么?

我尝试过Show Processlist,除了“Sleep”和查询“Show Processlist”(显然)之外,没有运行任何语句,当时它正在占用所有 CPU。

my.cnf 是基本的。我没有优化或更改任何 MySQL 设置。您认为这会导致如此奇怪的行为吗?

该机器运行Linux Centos 5.7 64位和MySQL 5.0.95。

谢谢

答案1

检查 MySQL 上运行的查询时,请确保使用具有管理员权限的帐户。通常,您只会看到自己的查询。如果其他系统进程在 MySQL 的后台运行,则可能不太明显。

还请考虑atop查看相关的磁盘活动和innotop

答案2

在对 mySQL 进行精细调整后,我能够将 CPU 的使用率从 90% 降低到 35% 左右。由于用于复制到 sybase 服务器的选择语句,它的空闲率很高。

我用来调音的程序

Major Hayden 的 mySQLtuner 1.2.0

mySQL 性能调优入门,作者:Matther Montgomery。

相关内容