从MySQL以外,我知道我可以做很多事情来了解进程的CPU使用情况,即。 top
。检查MySQL CPU使用情况(内部)
但是,从内部角度来看,我想知道是否可以从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
限制您的任务在给定时间可以使用的线程数可能会更容易/更好。 – Vatev
这将如何处理? –