Linux提高CPU使用率并设置固定占比

博客介绍了在Linux系统中控制CPU使用率和提升磁盘占用量的方法。需安装cpulimit限制CPU使用率,避免一直100%影响业务。提供两种让CPU使用率达100%并限制上限的方式,还给出结束程序的方法,最后介绍通过多次复制文件提升磁盘占用量。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

说明:无论方式1 还是方式2 ,均需安装cpulimit,因为要限制CPU使用率,不能一直100%,否则影响正常业务


方式1:

一行代码让 多核CPU 使用率达到100%

for i in `seq 1 $(cat /proc/cpuinfo |grep "physical id" |wc -l)`; do dd if=/dev/zero of=/dev/null & done

说明:

cat /proc/cpuinfo |grep "physical id" | wc -l 可以获得CPU的个数, 我们将其表示为N.

seq 1 N 用来生成1到N之间的数字

for i in `seq 1 N`; 就是循环执行命令,从1到N

dd if=/dev/zero of=/dev/null 执行dd命令, 输出到/dev/null, 实际上只占用CPU, 没有IO操作.

由于连续执行N个(N是CPU个数)的dd 命令, 且使用率为100%, 这时调度器会调度每个dd命令在不同的CPU上处理.

最终就实现所有CPU占用率100%

 

另外,上述程序的结束可以使用

1. fg 后按 ctrl + C (因为该命令是放在后台执行)

2. pkill -9 dd

测试

top这个命令很常用,在第三行有显示CPU当前的使用情况。


如上所示,top命令可以看到总体的系统运行状态和cpu的使用率 。

%us:表示用户空间程序的cpu使用率(没有通过nice调度)
%sy:表示系统空间的cpu使用率,主要是内核程序。
%ni:表示用户空间且通过nice调度过的程序的cpu使用率。
%id:空闲cpu
%wa:cpu运行时在等待io的时间
%hi:cpu处理硬中断的数量
%si:cpu处理软中断的数量
%st:被虚拟机偷走的cpu

分类: 【linux学习】

限制某个线程cpu率使用上线:

nohup cpulimit -l 80 -p 2510 &        (-l后限定最高占用百分比,-p后进程pid)


方式2:

背景:项目申请的服务器资源要达到使用要求,不然就会减配,为了方便后续扩展不考虑减配,直接将使用率提高。

思路是先将CPU占用率直接上到100%

然后用   cpulimit   限定进程占用上限

1、安装  cpumit 

下载   cpulimit-master

wget https://github.com/opsengine/cpulimit/archive/master.zip

不通外网的,放在网盘里了,大家自提:

链接:https://pan.baidu.com/s/1kLuj1MzQz69g4hAjMF-lSg  提取码:l8hb

unzip cpulimit-master.zip
cd cpulimit-master
make
cp src/cpulimit /usr/bin
cd cpulimit-master/src

2、不间断复制,提高占用率到100%

nohup dd if=/dev/zero of=/dev/null &

3、不间断限制cpu使用率

先查看进程号  ps -ef|grep dd  看进程id,或者用top

再限定最高占用率

nohup cpulimit -l 80 -p 2510 &

    (  -l   后限定最高占用百分比,  -p   后进程pid  )

这样就能设定固定的CPU占用率啦

 

另附磁盘占用量提升:

先上传一份文件到服务器,再执行多次复制:

多次复制同一文件 (文件名为1)

echo '2 3 4 5' | xargs -n 1 cp 1

这样文件名为1的文件就被重复复制多次了,如果需要更多可以写循环脚本

### 回答1: 你好,关于获取Linux系统中 CPU 使用率的问题,可以通过 top、htop、sar 等工具来实现。其中 top 是常用的查看系统资源使用情况的工具,可以通过输入 top 命令来打开。在 top 命令的输出中,CPU 使用率的信息位于第三行,分别表示系统总体使用率、用户占比、系统占比、空闲占比等。另外,还可以通过 sar 命令来查看历史 CPU 使用率,命令格式为 sar -u。希望可以帮到您。 ### 回答2: 在Linux系统中,可以通过多种方式获取CPU使用率。 1. 使用top命令:top命令是一个常用的Linux性能监控工具,可以实时显示系统的运行状况,包括CPU使用率。可以运行top命令,然后查看其中的“%CPU”字段,该字段显示了各个进程的CPU使用率。 2. 使用vmstat命令:vmstat命令也可以获取系统的CPU使用率。运行vmstat命令,然后查看其中的“us”和“sy”字段,其中“us”表示用户进程的CPU使用率,而“sy”表示系统进程的CPU使用率。 3. 使用sar命令:sar命令是一个系统活动报告工具,可以统计和展示系统的各种性能指标,包括CPU使用率。可以运行sar命令,然后查看其中的“%user”和“%system”字段,分别表示用户进程和系统进程的CPU使用率。 4. 使用mpstat命令:mpstat命令是一个多核处理器的性能监控工具,可以显示每个处理器的CPU使用率。可以运行mpstat命令,然后查看其中的“%idle”字段,该字段显示了每个处理器的空闲CPU时间占比,通过1减去该值即可得到CPU使用率。 以上是一些常用的方法,通过这些命令可以获取系统或进程的CPU使用率。另外,还可以使用perf工具、/proc文件系统等方式获取更详细的CPU性能信息。 ### 回答3: 在Linux中,可以使用一些工具和命令来获取CPU使用率。 1. top命令:top命令用于实时监控系统性能,包括CPU使用率。在终端中输入"top"命令,然后按下键盘上的"1",可以显示多个CPU核心的使用率,其中"%CPU"列显示每个进程的CPU使用率,"%CPU(s)"列显示总的CPU使用率。 2. mpstat命令:mpstat命令用于显示多处理器系统的每个处理器的统计数据,包括CPU使用率。在终端中输入"mpstat"命令,可以显示每个处理器的使用率,其中"%idle"列显示空闲CPU的百分比,"%cpu"列显示占用CPU的百分比。 3. sar命令:sar命令可以用于系统性能监控和报告生成。在终端中输入"sar -u"命令,可以显示CPU使用率统计信息。其中"%user"列显示用户态CPU使用率,"%system"列显示内核态CPU使用率,"%idle"列显示空闲CPU的百分比。 4. pidstat命令:pidstat命令用于监控进程和任务的CPU使用率。在终端中输入"pidstat -u"命令,可以显示每个进程的CPU使用率统计信息。其中"%CPU"列显示CPU使用率。 以上是几种在Linux中获取CPU使用率的常用方法和命令。可以根据实际需求选择合适的方法进行监测和分析。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值