mysql - 检查 MySQL CPU 使用率(内部)

标签 mysql database cpu amazon-rds

从 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()不存在,但是如果我可以做类似的事情来实现类似的效果,我会洗耳恭听。谢谢。

附注我在 Amazon RDS 上

最佳答案

恐怕 MySQL 本身没有这样的选项 select 选项。

如果您在 mysql 客户端命令行中,您可以使用以下命令从 MySQL 客户端内部调用“top”命令:\!顶部,但我认为这不是您所需要的。

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

关于mysql - 检查 MySQL CPU 使用率(内部),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22612712/

相关文章:

php - 获取当前mysql insert的id

mysql - 或运算符不使用索引

android - 如何控制android上的cpu throttle

assembly - 在指令周期内如何执行微码?

java - 基于 CPU 类型的 JVM 性能

javascript - 加入/连接的动态下拉菜单

mysql - 使用 LIKE 搜索 GROUP_CONCAT

sql - 使用聚合选择列时出现问题 (SQL Server)

sql - 改进 SQL 查询

sql - 使用 T-SQL 过滤分层数据的最佳方法?