某些特殊时候,需要提升下cpu的利用率,此时……………………需要一个极其简单的脚本来完成!
#!/bin/bash
while (true);
do
{
for i in $(seq 100000 100100)
do
X=`expr $i \* 3 + $i \* 9999`;
echo $X >> /tmp/a.txt;
done
echo "" > /tmp/a.txt
}
done
某些特殊时候,需要提升下cpu的利用率,此时……………………需要一个极其简单的脚本来完成!
#!/bin/bash
while (true);
do
{
for i in $(seq 100000 100100)
do
X=`expr $i \* 3 + $i \* 9999`;
echo $X >> /tmp/a.txt;
done
echo "" > /tmp/a.txt
}
done
转载于:https://www.cnblogs.com/yudai/p/10839829.html
如果你还没达到100%,增加下面的for循环次数。
import java.io.IOException;
public class CPUTest {
public static void main(String[] args) {
CPUTestThread cpuTestThread = new CPUTestThread();
for (int i = 0; i < 3; i++) {
Thread cpuTest = new Thread(cpuTestThread);
cpuTest.start();
}
//Windows Task Manager shows
try {
Runtime.getRuntime().exec("taskmgr");
} catch (IOException e1) {
e1.printStackTrace();
}
}
}
class CPUTestThread implements Runnable {
@Override
public void run() {
int busyTime = 10;
int idleTime = busyTime;
long startTime = 0;
while (true) {
startTime = System.currentTimeMillis();
System.out.println(System.currentTimeMillis()+","+startTime+","+(System.currentTimeMillis() - startTime));
// busy loop
while ((System.currentTimeMillis() - startTime) <= busyTime)
;
// idle loop
try {
Thread.sleep(idleTime);
} catch (InterruptedException e) {
System.out.println(e);
}
}
}
}
背景:项目申请的服务器资源要达到使用要求,不然就会减配,为了方便后续扩展不考虑减配,直接将使用率提高。
思路是先将CPU占用率直接上到100%
然后用cpulimit限定进程占用上限
1、安装cpumit
下载cpulimit-master
wget -O https://github.com/opsengine/cpulimit/archive/master.zip
不通外网的,放在网盘里了,大家自提:
链接:https://pan.baidu.com/s/1kLuj1MzQz69g4hAjMF-lSg 提取码:l8hb
unzip cpulimit-master.zip
cd cpulimit-master
make
sudo 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的文件就被重复复制多次了,如果需要更多可以写循环脚本
另可使用lookbusy
原理就是死循环!
将下列内容保存为cpubusy.vbs后执行即可
------------------------------------------------------------------------
Dim goal
Dim before
Dim x
Dim y
Dim i
goal = 2181818Do While Truebefore = TimerFor i = 0 to goalx = 0.000001y = sin(x)y = y + 0.00001Next
y = y + 0.01Loop
------------------------------------------------------------------------