一、需求背景
项目初期申请的服务器资源,其实很难得到充分的使用。
今天收到客户说要进行服务器使用率的检查,否则就要进行降配处理。
需求虽然不常规,但存在即合理。
二、用什么手段可以把CPU跑在50%左右?
实现思路:
- 分配50%CPU给cgroup任务;
- 然后把该资源组分配给死循环进程。
实现步骤:
2-1 创建Python死循环任务
centos7自带python2.7,所以我们使用Python写一个脚本。
创建脚本:
vim cpu_task.py
编写脚本内容:
i = 0
while True:
print i
i = i+1
后台运行脚本,并记住进程号:
nohup python cpu_task.py /dev/null &
此时,用top命令可以查看到,CPU的占用在100%。
2-2 创建cpu任务
## 创建cgroup子系统
[root@k8s-master cpu]# mkdir /sys/fs/cgroup/cpu/cpu_test
## 设置子系统cpu风分配
[root@k8s-master cpu]# echo 20000 > /sys/fs/cgroup/cpu/cpu_test/cpu.cfs_quota_us
## 把1-1中记录的进程号写进tasks文件中
[root@k8s-master ~]# echo 23732 >> /sys/fs/cgroup/cpu/cpu_test/tasks
此时,再看CPU的使用率,就会降低到20%了。
学习素材:https://www.cnblogs.com/menkeyi/p/10941843.html