Centos下,使用CGroup限制VPS CPU的占用
#科技资讯 发布时间: 2023-08-27
Kdatacenter:$17.1/月/1G内存/100GB SSD空间/1TB流量/1Gbps端口/KVM/韩国SK/直连;原生IP

Linux CGroup可为系统中所运行任务(进程)的用户定义组群分配资源—比如CPU 时间、系统内存、网络带宽或者这些资源的组合。下面主要是限制CPU的占用。
共享CPU的占用时间和比率,建议查看各个VPS商家的TOS。
Virmach是CPU不能超过2小时使用50%。
一、安装并启用CGroup
yum install libcgroup libcgroup-tools numactl -y
启用CGroup
systemctl start cgconfig.service
二、限制用户的CPU占用
1、添加配置
vi /etc/cgconfig.conf
在最后面添加
group users_normal_limit{
cpu{
# 限制CPU使用率为30%
cpu.cfs_period_us=100000;
cpu.cfs_quota_us=30000;
}
}主要修改cpu.cfs_quota_us,为与cpu.cfs_period_us的比例。
2、添加受限制用户
vi /etc/cgrules.conf
在最后面添加
@user cpu users_normal_limit
添加限制用户
usermod -a -G users root
或者更多
usermod -a -G users www usermod -a -G users mysql
3、使用配置生效
设置Cgroup服务开机启动
systemctl enable cgconfig systemctl enable cgred
重启Cgroup服务
systemctl restart cgconfig systemctl restart cgred
三、限制单个程序的CPU占用
1、查看VPS CPU的线程数
grep 'processor' /proc/cpuinfo | sort -u | wc -l
2、创建隔离组
cd /sys/fs/cgroup/cpu mkdir cpu_test
说明:目录创建完成会自动生成以下文件(注:该目录无法手动删除,如果不加入开机自启,重启后会消失)
ls cpu_test/
3、修改参数
echo 30000 > /sys/fs/cgroup/cpu/cpu_test/cpu.cfs_quota_us
注:默认-1不限制,现在改成20000,是将cpu.cfs_quota_us设为30000,相对于cpu.cfs_period_us的100000是30%;可以理解cpu使用率限制在30%。
4、限制某个程序占用的CPU
查看进程
top
限制程序
echo 进程pid >> /sys/fs/cgroup/cpu/cpu_test/tasks
把多个进程写入tasks,表示共享30% CPU。
四、跑一个耗cpu的脚本
vi cpu.sh
写入
#/bin/bash
x=0
while [ True ];do
x=$x+1
done;设置权限并运行
chmod +x cpu.sh sh cpu.sh &
主要参考:http://note.jues.org.cn/index.php/comment/12、https://www.cnblogs.com/llwxhn/p/12558577.html
科技资讯SEO上一篇 : 零成本搭建运行在Cloudflare Workers上的博客,附图文搭建过程
下一篇 : 如何成功连接虎牙手游与YY?
-
SEO外包最佳选择国内专业的白帽SEO机构,熟知搜索算法,各行业企业站优化策略!
SEO公司
-
可定制SEO优化套餐基于整站优化与品牌搜索展现,定制个性化营销推广方案!
SEO套餐
-
SEO入门教程多年积累SEO实战案例,从新手到专家,从入门到精通,海量的SEO学习资料!
SEO教程
-
SEO项目资源高质量SEO项目资源,稀缺性外链,优质文案代写,老域名提权,云主机相关配置折扣!
SEO资源
-
SEO快速建站快速搭建符合搜索引擎友好的企业网站,协助备案,域名选择,服务器配置等相关服务!
SEO建站
-
快速搜索引擎优化建议没有任何SEO机构,可以承诺搜索引擎排名的具体位置,如果有,那么请您多注意!专业的SEO机构,一般情况下只能确保目标关键词进入到首页或者前几页,如果您有相关问题,欢迎咨询!