高MySQL CPU使用率但没有繁重的查询

时间:2011-02-07 08:19:07

标签: mysql linux cpu-usage

当我在Linux上运行“top”命令时,它显示MySQL占用了400%-500%的CPU。但是,当我运行'watch mysqladmin pr'命令查看MySQL运行的查询列表时,它只显示2,3个查询,而且只需要2,3秒。 “top”命令显示MySQL不断波动的CPU使用率,如130%,200%,340%,230%,400%,440%,635%,335%e.t.c.但“观看mysqladmin pr”命令未显示占用CPU使用率的查询。我如何检查MySQL使用这么多CPU的原因?

由于

1 个答案:

答案 0 :(得分:0)

这可能是一个被回滚的巨额交易吗?这将显示100%cpu但没有活动查询。重新启动mysql无济于事,因为重启source后的回滚仍在继续:巨大事务的第二部分)

如果您运行show engine innodb status(假设您正在运行innodb),则会在TRANSACTION标题下显示信息 - 有些内容如下:

---TRANSACTION 7AB09, ACTIVE 3601 sec rollback ROLLING BACK 48157 lock struct(s), heap size 5585336, 2856641 row lock(s), undo log entries 4921485 MySQL thread id 53, OS thread handle 0x7f3d503ab700, query id 4937822 localhost 127.0.0.1 user