如何长时间在CPU上施加重负荷?


Answers:


4

在命令行中,运行以下命令:

cat < /dev/urandom > /dev/null

(打开终端窗口并在窗口中输入。)

只要允许命令运行,这应该可以很好地保持CPU的负载。


1
这将只使用一个核心/线程,所以不占用100%的CPU
马克

2
@Mark所以有多个实例在运行。轻松解决方案
JoshRagem 2013年

多个实例(如每个核心一个)并不意味着它们会被操作系统分配到单个核心。
jmlumpkin 2013年

3

看看像Boinc这样的分布式计算。这运行计算密集型程序,在这些程序中执行任务并在许多机器上运行,从而允许项目访问免费的计算能力 在您的情况下,由于程序占用大量计算能力,因此它们会大量使用CPU。Boinc在您的计算机上运行多个进程,因此将覆盖CPU的所有核心。


1

对Mac中的每个CPU核心执行以下操作一次,打开Terminal.app并输入命令:

yes

命令将打印的信y到标准输出在一个无限循环。


操作系统可能不会将此一次分配给每个核心,即便如此,只是向终端输出yes可能会将CPU推送到100%。
jmlumpkin 2013年

5
为每个核心运行一次:ncpu=$(sysctl hw.ncpu | awk '{ print $2; }'); for ((i=1;i<=ncpu;i++)); do yes >/dev/null & done
戈登戴维森2013年

@jmlumpkin它有效。至少在目前的Apple平台上。
Max Ried 2013年

我想我的回答有点不同了。我想说的是终端将为此分发,并且说“为每个核心执行一次”并不会以400%的利用率来固定四核i5。我更多地阅读了你的答案,因为“在新的终端窗口中执行此操作会将其分配给另一个核心”。
jmlumpkin 2013年

0

只需创建一个无限循环的小程序,例如:

#include <stdio.h>
int main()
{
    int i=0;
    for(;;)
    {
         i++;
         i--;
    }
}

4
这只能在一个线程上运行,因此不会以100%的CPU运行,因为所有的Mac都是多核的。同样一个好的优化者可能会摆脱那个循环
马克

0

多个数据库系统是多核优化的。您可以安装类似mysql的东西并设置基本数据集,然后针对它运行一些基准测试工具。如果调整正确,许多数据库系统在高CPU负载下效率最高(因为如果不是这样,你就会浪费资源)。

或者,您可以在Safari中清洗Flash视频。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.