欢迎访问 生活随笔!

凯发k8官方网

当前位置: 凯发k8官方网 > 运维知识 > centos >内容正文

centos

centos7限制cpu使用-凯发k8官方网

发布时间:2024/9/27 centos 20 豆豆
凯发k8官方网 收集整理的这篇文章主要介绍了 centos7限制cpu使用_centos7 - 使用cgroups限制进程资源 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

cgroups简介

控制组(cgroups)是一个linux内核特性,它允许你指定内核应该如何给一个进程组分配特定的资源。你可以用cgroups指定在某一个组中的进程使用多少cpu时间、系统内存、网络带宽、或者这些资源的组合。

(选自马哥教育的微信公众平台)

cgroups使用# 下载一个可以模拟cpu高负载的工具,mathomatic是质数生成器,会加大处理器的负荷

wget http://mathomatic.orgserve.de/mathomatic-16.0.5.tar.bz2

tar xf mathomatic-16.0.5.tar.bz2

cd mathomatic-16.0.5/primes/

make && make install        #  编译安装

# centos7系统需要安装libcgroup-tools包,才有cgroup配置命令

yum install -y libcgroup-tools.x86_64

# 创建两个不同cpu资源分配的组

cgcreate -g cpu:/large      # 具体命令使用cgcreate -h

cgcreate -g cpu:/small

# cpu.shares是cpu控制的一个属性,更多的属性

# 可以到/sys/fs/cgroup/cpu目录下查看,默认值是1024,值越大,能获得更多的cpu时间

cgset -r cpu.shares=512 small

# cgexec启动一个cgroup任务

matho-primes 0 999999999 > /dev/null &  # 生成一个从0到999999999的质数列表

cgexec -g cpu:small /usr/local/bin/matho-primes 0 999999999 > /dev/null & # 后台运行

# 使用top命令查看发现cpu被100%占用,因为是一个单独的进程,它使用尽可能多的cpu

# cgroups限制仅在两个或多个以上进程竞争cpu资源时起作用

pid user      pr  ni    virt    res    shr s  %cpu %mem     time  command

6726 root      20   0    9208   2540    488 r  99.9  0.0   0:34.47 matho-primes

cgexec -g cpu:large /usr/local/bin/matho-primes 0 9999999999 > /dev/null

cgexec -g cpu:small /usr/local/bin/matho-primes 0 9999999999 > /dev/null

cgexec -g cpu:small /usr/local/bin/matho-primes 0 9999999999 > /dev/null

# 在small组中起两个matho-primes进程,然后top观察cpu时间

# small组两个matho-primes进程差不多共享cpu,large组的进程得到更多的cpu时间

下次打算将cgroups应用到我们的计算存储一体机上,用来限制glusterfs进程和nova-compute,避免存储服务和计算服务抢占cpu等资源。

总结

以上是凯发k8官方网为你收集整理的centos7限制cpu使用_centos7 - 使用cgroups限制进程资源的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得凯发k8官方网网站内容还不错,欢迎将凯发k8官方网推荐给好友。

  • 上一篇:
  • 下一篇:
网站地图