Linux系统使用cpulimit对CPU使用率进行限制

news/2025/2/22 9:23:23/文章来源:https://www.cnblogs.com/y4353536666/p/18730562

介绍

cpulimit 是一个限制进程的 CPU 使用率的工具(以百分比表示,而不是以 CPU 时间表示)。

当不希望批处理作业占用太多 CPU 时,控制批处理作业很有用。

目标是防止进程运行超过指定的时间比率。

它不会更改 nice 值或其他调度优先级设置,而是更改真实的 CPU 使用率,而且能够动态且快速地适应整个系统负载。

使用的 CPU 数量的控制是通过向进程发送 SIGSTOP 和 SIGCONT POSIX 信号来完成的。 指定进程的所有子进程和线程将共享相同百分比的 CPU。

源安装【推荐】

Centos:

yum install cpulimit
 
 

Debian / Ubuntu:

apt-get install -y cpulimit`
 
 

编译安装

cd /tmp
wget 'https://sunpma.com/other/oss/cpulimit-1.1.tar.gz'
tar cpulimit-1.1.tar.gz
cd cpulimit-1.1
make
cp cpulimit  /usr/local/sbin/
rm -rf cpulimit*
 
 

使用实例

限制程序名为 xmrig的程序仅使用 60%的CPU使用率,并在后台一直运行;

cpulimit -e xmrig -l 60 -b
 
 

限制进程号为 10086的程序仅使用 60%的CPU利用率,并在后台一直运行;

cpulimit -p 10086 -l 60 -b
 
 

限制绝对路径下的软件仅使用 60%的CPU利用率,并在后台一直运行;

cpulimit -e /usr/local/nginx/sbin/nginx -l 60 -b
 
 

关闭cpulimit后台进程(取消所有限制)

kill $(pidof cpulimit)
 
 

使用方法

-p --pid=N pid of the process 进程的PID
-e --exe=FILE name of the executable program file 可执行程序文件名
-P --path=PATH absolute path name of the 进程的绝对路径名
-b --background run in background 后台运行
-l --limit=N percentage of cpu allowed from 1 up 允许的CPU百分比,最低为1%
-z --lazy exit if there is no suitable target process 如果目标进程退出或无目标进程则终止
-h --help display this help and exit 显示帮助并退出

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/887912.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

4. MySQL 逻辑架构说明

4. MySQL 逻辑架构说明 @目录4. MySQL 逻辑架构说明1. 逻辑架构剖析1.1 服务器处理客户端请求1.2 Connectors(连接器)1.3 第1层:连接层1.4 第2层:服务层1.5 第3层:引擎层1.6 存储层2. SQL执行流程2.1 MySQL 中的 SQL 执行流程2.2 MySQL8中SQL执行原理最后:1. 逻辑架构剖析…

无线充电

https://baijiahao.baidu.com/s?id=1809048563048631142&wfr=spider&for=pc 工信部放宽无线充电设备频率和功率限制,安卓厂商或加大无线充电功率,苹果则因Qi2.0标准频率与航空无线电导航业务冲突而调整。无线充电技术发展迅速,但仍需解决充电发热等问题。咱也就是说…

陪玩平台搭建,利用Redis实现多级缓存

陪玩平台搭建,利用Redis实现多级缓存如何使用redis6客户端缓存前置条件: redis服务端版本必须是>=6。lettuce版本>=6 目前java的redis客户端找了一圈,貌似只有lettuce 6支持,其他客户端估计后期会支持1、项目中pom引入lettuce GAV<dependency><groupId>i…

《DeepSeek中小学生/家长使用手册》让因材施教不再是选择题!

最近有受到粉丝私信如何在小初高的学习中使用DeepSeek来提供成绩;确实,随着教育改革的推进,学习内容日益丰富且难度加大,许多家长在辅导孩子和沟通交流方面感到困扰。无论是学生还是家长,找到合适的学习与辅导方式至关重要。尽管市面上有多种培训机构和学习工具可供选择,…

读DAMA数据管理知识体系指南01数据管理(上)

数据管理对企业至关重要,需规划、协作和领导力,确保数据质量和隐私,支撑企业决策和运营,数据是组织资产,需全生命周期管理,高质量数据带来竞争优势。1. 数据管理 1.1. 数据是一种至关重要的企业资产1.1.1. 数据和信息能使他们洞察顾客、产品和服务,帮助企业创新并实现其…

推荐几款开源且免费的 .NET MAUI 组件库

前言 今天大姚给大家推荐 3 款开源且免费的 .NET MAUI 组件库。 .NET MAUI介绍 .NET 多平台应用 UI (.NET MAUI) 是一个跨平台框架,用于使用 C# 和 XAML 创建本机移动和桌面应用。使用 .NET MAUI,可从单个共享代码库开发可在 Android、iOS、macOS 和 Windows 上运行的应用。.…

dotnet 在 VisualStudio 一键 F5 启动调试 Roslyn 分析器项目

本文将告诉大家如何在 VisualStudio 里面,一键使用习惯的 F5 键进行快速构建和启动调试 Roslyn 分析器项目在 dotnet 里面编写的 SourceGenerator 源代码生成器,或者是分析器时,可能编写的逻辑比较复杂,期望制作一个项目进行调试。或者是原本分析器能够跑得好好的,莫名就在…

dotnet OpenXML 已知问题 设置 0x0001 等 XML 不合法字符给到标题将在保存时抛出异常

本文记录 OpenXML 的已知问题,在 `PackageProperties.Title` 等属性上设置字符串包含如 Unicode 编码为 0x0001 等 XML 不合法字符,将在保存写入文件时,抛出 ArgumentException 异常此问题报告给了官方: https://github.com/dotnet/Open-XML-SDK/issues/1874 最简复现代码:…

区块链模型原理入门学习1——简易模型

区块链模型原理入门学习1——简易模型 最近抽空学习一下区块链的设计原理,正在搭建一个非常简易的模型,上生产的模型肯定复杂的多,不过学习还是由简入难,逐步深入才行,一口吃不成胖子。我使用的是C#编写的。区块链的特点:1.分布式记账,去中心化。2.挖矿是按照平台规则通…

python小技巧 收集

2的三次方:2**37除以3的整数商:7//3

VUE3 + Vite 编译部署后不报错,但显示空白页面

1、在 vite.config.js 中添加(ts版本则为 vite.config.ts)base: ./ 2、将路由模式改为 hash 模式history: createWebHashHistory() 3、注意检查路由文件需要由函数导入 (我的是未使用箭头函数导入,本地运行正常,但部署后无法正确加载路由,也不报错,找死人。。。)

今日排错

上图错误的解决办法:application.yml中的mybatis plus配置中去掉configlocation即可。