如何在终端中加速C程序(使用所有CPU速度)

时间:2019-02-01 10:57:40

标签: c linux terminal cpu

我正在使用Ubuntu 18.10,并使用终端运行我自己的程序,这需要进行很多计算,但是当我打开任务管理器时,终端CPU使用率(包括正在运行的程序)从未超过26%。这是一个非常简单的程序,其行为方式相同。我想知道,如何强制我的程序(或终端)使用我所有的CPU速度。我还尝试运行多个终端并启动程序,或在我的代码中使用线程,但看来那26%的人分裂成这些终端,并且运行缓慢。是终端限制吗?如何解决它并使程序运行更快?谢谢

#include <stdio.h>

int main(){
    int a=0;
    while(1){
        printf("%d\n",a);
    }
    return 0;
}

编辑:仅使用“ a”而不是“ a ++”,以避免溢出

1 个答案:

答案 0 :(得分:1)

好吧,我知道我的任务是使用4个CPU内核之一的100%(这就是为什么我得到〜25 CPU%的原因,它被4个内核除)。使用“ pthread_create”函数可以使用多个线程,并使用所有CPU功能执行该任务。我了解到I / O限制了任务速度,我不应该使用所有的CPU能力。谢谢大家的帮助和知识,这真的帮助了我! 对于将来的读者,一些有助于我解决问题的资料来源:

pthread_create函数http://man7.org/linux/man-pages/man3/pthread_create.3.html

CPU使用率命令https://www.booleanworld.com/guide-linux-top-command/

编译Undefined reference to pthread_create in Linux