在我的情况下,“;“尼斯”;命令在linux中并没有真正的帮助

在我的情况下,“;“尼斯”;命令在linux中并没有真正的帮助,linux,kernel,Linux,Kernel,下面是我的a.out代码 /////////////////////////////////////////////////////////// main(){ int i; while(1){ i++; } } PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 18855 root 39 19 4196 632

下面是我的a.out代码

///////////////////////////////////////////////////////////

main(){
int i;
  while(1){
    i++;
  }
}
PID USER      PR  NI    VIRT    RES    SHR S  %CPU %MEM     TIME+ COMMAND                   
18855 root      39  19    4196    632    552 R  99.9  0.0   0:08.34 a.out 
///////////////////////////////////////////////////////////

main(){
int i;
  while(1){
    i++;
  }
}
PID USER      PR  NI    VIRT    RES    SHR S  %CPU %MEM     TIME+ COMMAND                   
18855 root      39  19    4196    632    552 R  99.9  0.0   0:08.34 a.out 
我使用下面的命令在linux中执行.out程序

尼斯-n 19./a.out 但“top”命令总是显示95%以上的CPU使用率,如下所示

/////////////////////////////////////////////////////////////////////

main(){
int i;
  while(1){
    i++;
  }
}
PID USER      PR  NI    VIRT    RES    SHR S  %CPU %MEM     TIME+ COMMAND                   
18855 root      39  19    4196    632    552 R  99.9  0.0   0:08.34 a.out 
/////////////////////////////////////////////////////////////////////

main(){
int i;
  while(1){
    i++;
  }
}
PID USER      PR  NI    VIRT    RES    SHR S  %CPU %MEM     TIME+ COMMAND                   
18855 root      39  19    4196    632    552 R  99.9  0.0   0:08.34 a.out 
我真的很想让我的a.out程序使用低于30%的cpu使用率,,,但这对我来说真的很难


另外,我使用了“ionice”命令,但它也没有帮助…

AFAIK,nice不限制进程的CPU使用,它只调整其优先级。也就是说,如果没有其他进程需要CPU,那么这个进程就没有理由使用低于它所能使用的最大CPU功率。您是否尝试过在没有nice或不同优先级(niceness)的情况下运行相同的进程?如前所述,如果没有其他进程需要CPU,那么这应该是利用CPU。是的。。。我确实。。。你说得对。。。nice命令在top命令中不起作用。。。如果nice值为19,a.out使用99%的cpu,如果nice值为-20,a.out使用99%的cpu!!!顺便问一下,你知道如何通过linux命令将CPU使用率控制在30%以下吗?你为什么要这么做?为什么要限制进程CPU的使用?当这个过程完成时,它将在需要时留给其他过程。