当前位置: 首页 > news >正文

linux控制其他程序使用cpu低于50%——笔记

若存在此目录,说明支持CPU控制器

ls /sys/fs/cgroup/cpu/ 
# 1. 创建默认控制组(限制50% CPU)
sudo mkdir /sys/fs/cgroup/cpu/cpu.default
# 配置CPU限制:周期100ms(100000微秒)内,最多使用50ms(50000微秒),即50%
echo 50000 | sudo tee /sys/fs/cgroup/cpu/cpu.default/cpu.cfs_quota_us
echo 100000 | sudo tee /sys/fs/cgroup/cpu/cpu.default/cpu.cfs_period_us# 2. 创建专属控制组(不限制CPU)
sudo mkdir /sys/fs/cgroup/cpu/cpu.java
# 配置为无限制(-1表示不限制)
echo -1 | sudo tee /sys/fs/cgroup/cpu/cpu.my_config/cpu.cfs_quota_us
echo 100000 | sudo tee /sys/fs/cgroup/cpu/cpu.my_config/cpu.cfs_period_us

创建cpu_control.sh

#!/bin/bash# 获取所有进程PID(排除内核进程,PID>1)
ALL_PIDS=$(pgrep -d ' ' -x -P 1 -o '.*' 2>/dev/null)# 遍历所有进程,分类到不同组
for pid in $ALL_PIDS; do# 跳过已终止的进程if ! ps -p $pid >/dev/null; thencontinueficmd=$(ps -p $pid -o comm=)# 这里=="java"自己改成不限制的程序,现在是不限制java进程if [[ "$cmd" == "java" ]]; then# 特定非限制进程:加入cpu.my_config组echo $pid | sudo tee /sys/fs/cgroup/cpu/cpu.my_config/cgroup.procs >/dev/nullelse# 所有进程:加入cpu.default组(限制50%)echo $pid | sudo tee /sys/fs/cgroup/cpu/cpu.default/cgroup.procs >/dev/nullfi
done

#赋权限

chmod +x /path/to/cpu_control.sh

创建服务文件,这个配置是五秒自动执行一次

sudo vim /etc/systemd/system/cgroup-java-control.service
[Unit]
Description=限制进程 50% CPU[Service]
Type=simple
ExecStart=/bin/bash -c 'while true; do /path/to/cpu_control.sh; sleep 5; done'
Restart=always[Install]
WantedBy=multi-user.target

启动并设置开机自启

sudo systemctl daemon-reload
sudo systemctl start cpu-control
sudo systemctl enable cpu-control
http://www.dtcms.com/a/339822.html

相关文章:

  • 常见的对比学习的损失函数
  • LLM(大语言模型)的工作原理 图文讲解
  • 基于“R语言+遥感“水环境综合评价方法技术应用——水线提取、水深提取、水温提、水质提取、水环境遥感等
  • make stb style code: bin2c and reverse
  • 开发中使用——APP层级相关知识
  • bit-Agent正式接入GPT-5,九科信息智能体能力再升级!
  • 海滨浴场应急广播:守护碧海蓝天的安全防线
  • 皮带跑偏?智慧煤矿靠AI摄像机+检测算法实现实时预警
  • Docker学习--常用命令
  • vue3动态获取高度用在轮播图上
  • Diamond开发经验(1)
  • 代码随想录刷题Day37
  • C++的二叉搜索树(二叉排序树)
  • AC 应用控制技术
  • Vulkan笔记(十一)-渲染通道(RenderPass)详解
  • 厂区能源管理智能化改造物联网解决方案
  • 沈昕医编---因为上岸了医疗编,来说一下e类联考的强度
  • YggJS RLogin暗黑霓虹主题登录注册页面 版本:v0.1.1
  • js 怎么调用 deepseekAPI
  • 雷卯针对香橙派Orange Pi 5 Pro开发板防雷防静电方案
  • 从密度到聚类:DBSCAN算法的第一性原理解析
  • MyCAT2的主从配置
  • Ubuntu、CentOS、AlmaLinux 9.5的 rc.local实现 开机启动
  • 第2章 组件设计与架构
  • IEEE GRSM 2025:Vision Foundation Models in Remote Sensing
  • 基于 STM32 和 NB-IoT 的智慧家居多设备联动控制系统设计
  • Windows Server DNS优化,网络响应速度提升方案
  • 让AI学会“边做边想“:ReAct的实战指南
  • 前端 React 实现数据懒加载-滚动触底加载数据
  • Redis Reactor 模型详解【基本架构、事件循环机制、结合源码详细追踪读写请求从客户端连接到命令执行的完整流程】