我正在使用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 ++”,以避免溢出
答案 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/