我想在Linux机器上创建一个接近100%的负载。这是四核系统,我要所有核都全速运转。理想情况下,CPU负载将持续一段指定的时间,然后停止。我希望bash里有什么妙招。我在想某种无限循环。


当前回答

cat /dev/urandom > /dev/null

其他回答

无限循环也是我的想法。一个看起来很怪异的例子是:

while :; do :; done

(:与true相同,不执行任何操作并以0退出)

你可以在子shell中调用它并在后台运行。执行$num_cores次数应该就足够了。在睡眠到所需的时间后,您可以将它们全部杀死,使用jobs -p获得pid(提示:xargs)

我认为这个更简单。打开“终端”,输入以下命令并按“Enter”。

yes > /dev/null &

要充分利用现代CPU,一行命令是不够的,您可能需要重复该命令以耗尽所有CPU功率。

为了结束这一切,简单地说

killall yes

这个想法最初是在这里发现的,尽管它是为Mac用户设计的,但这应该也适用于*nix。

增加负载或消耗CPU 100%或X%

sha1sum /dev/zero &

在某些系统上,这将增加X%插槽的负载,在这种情况下,你必须多次运行相同的命令。

然后你可以通过输入命令查看CPU使用情况

top

释放负荷

killall sha1sum
#!/bin/bash
while [ 1 ]
do
        #Your code goes here
done
cat /dev/urandom > /dev/null