检查MySQL CPU使用情况(内部)

时间:2014-03-24 14:49:27

标签: mysql database cpu amazon-rds

从MySQL外部,我知道我可以做很多事情来了解进程的CPU使用情况,即。 top

但是,从内部角度来看,我想知道是否可以从MySQL运行查询以了解系统CPU是什么或当前线程的CPU消耗。

我每晚都会通过事件调度程序运行大量查询,我的数据库服务器会在100%的CPU上停留几分钟,阻止或减慢全球用户的速度。

我试图研究一种限制线程或用户使用CPU的方法,但似乎还没有。

所以,我正在尝试在我的活动中按照以下方式做点什么:

IF (SELECT CPU_USAGE() > 0.8) THEN
    REPEAT
        SLEEP(0.01);
    UNTIL (SELECT CPU_USAGE() < 0.25)
    END REPEAT;
END IF;

显然CPU_USAGE()不存在,但如果有类似的东西可以做到类似的效果,我全都听见了。感谢。

P.S。我在亚马逊RDS上

1 个答案:

答案 0 :(得分:1)

我担心MySQL中没有这样的选项选择选项。

如果你在mysql客户端命令行中,你可以调用&#34; top&#34;使用此命令从MySQL客户端内部命令:\! top,但我不认为这是您所需要的。

最好的答案可能是使用SYS函数中的UDF。更多信息here。我没有使用它的经验,但它似乎最接近你需要的。