如何限制CPU资源的使用率

0    133    1

Tags:

👉 本文共约1249个字,系统预计阅读时间或需5分钟。

在我们运维的db环境中,一个机器跑多个mysql实例经常会出现某个进程占用了几乎所有的cpu 进而影响其他的实例运行。基于此我们需要限制某个进程的cpu资源,将其使用 的cpu限定在某个或者某几个固定的cpu上,避免对其他的进程产生影响。

限制cpu的方法有以下几种:

  1. taskset
  2. cpulimit
  3. 使用nice和 设置程序执行的优先级
  4. 使用ulimit 限制cpu

下面着重介绍taskset cpulimit 的方法。方法 3 4 在现有环境中操作性不强。

taskset

a 使用 top 获取占用cpu 资源最多的进程。

b 使用 taskset 将19041 绑定到 核1

使用 cpulimit 对cpu进行限定

cpulimit is a simple program that attempts to limit the cpu usage of a process (expressed in percentage, not in cpu time). This is useful to control batch jobs, when you don't want them to eat too much cpu. It does not act on the nice value or other scheduling priority stuff, but on the real cpu usage. Also, it is able to adapt itself to the overall system load, dynamically and quickly.

a 安装

b 使用

测试场景 开启一个tpcc 压测模型 对mysql 进程进行压测使其cpu使用率达到满负荷如何限制CPU资源的使用率

使用cpu进行限制之前

如何限制CPU资源的使用率

使用cpulimit -e mysqld -l 70 -z -v 命令对mysqld进程进行限制

如何限制CPU资源的使用率

需要说明的是 cpulimit 是限定某个进程的使用 cpu使用率,而非像taskset 绑定某个进程到指定的cpu上面。cpulimit的具体用法 详见cpulimit --help

本人提供Oracle(OCP、OCM)、MySQL(OCP)、PostgreSQL(PGCA、PGCE、PGCM)等数据库的培训和考证业务,私聊QQ646634621或微信db_bao,谢谢!
如何限制CPU资源的使用率后续精彩内容已被小麦苗无情隐藏,请输入验证码解锁本站所有文章
验证码:
请关注本站微信公众号,回复“小麦苗博客”,获取验证码。在微信里搜索“DB宝”或者“www_xmmup_com”或者微信扫描右侧二维码都可以关注本站微信公众号。

标签:

Avatar photo

小麦苗

学习或考证,均可联系麦老师,请加微信db_bao或QQ646634621

您可能还喜欢...

发表回复

嘿,我是小麦,需要帮助随时找我哦
  • 18509239930
  • 个人微信

  • 麦老师QQ聊天
  • 个人邮箱
  • 点击加入QQ群
  • 个人微店

  • 回到顶部