我想在服务器上测试虚假负载,我正在寻找一些可以在系统上产生 CPU 负载的老化或基准命令行实用程序。
我希望能够只烧录 CPU(无硬盘负载、网络等),并且能够设置负载运行的时间段。这意味着我想要能够运行的东西:系统上的 CPU 负载持续 10 分钟。
有任何想法吗?
答案1
您可以下载并安装“压力”实用程序...它允许您从命令行生成 CPU、内存、磁盘和 IO 负载。
答案2
我更喜欢浮点运算:
for i in `seq 64`; do perl -e '$z=time()+(10*60); while (time()<$z) { $j++; $sqrt = sqrt($j) for (1..9999); }' & done
注意你的 CPU 数量 :-)
答案3
这是我经常想做的事情。但我没有好的办法。我只能写一个小的 Perl 脚本,它会循环任意秒数。
例如(10分钟):
perl -e '$z=time()+(10*60); while (time()<$z) { $j++; $j *= 1.1 for (1..9999); }'
当然如果你有n处理器你可能需要添加一个 bash 循环来创建那么多进程:
#!/bin/bash
# e.g. for 4 processors
for i in 1 2 3 4; do
perl -e .... &
done
wait
答案4
我建议使用stress-ng,它比stress具有更多的功能,并且可以锻炼更多的操作系统。