如何解决如何在Linux中产生抖动?
我想在Linux中观察thrashing。 因此,我尝试通过c代码中的无限循环创建许多进程。 这是产生颠簸的代码。
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <sys/types.h>
int main(void){
pid_t pid;
int i=0,status,sum;
int n[8000] = {0};
while(i<100){
pid = fork();
if(pid>0){ //parent
i++;
if(i<100) continue;
else{
i=0;
sleep(1);
continue;
}
return 0;
}
else if(pid==0){ //child
printf("child : %d exit \n",getpid());
while(1){
for(i=0;i<8000;i++){
sum+=n[i];
}
i=0;
}
printf("sum = %d\n",sum); //put it in while
return 0;
}
else{
fprintf(stderr,"fork error");
return 1;
}
}
}
但是我遇到了fork错误。所以我将/etc/security/limits.conf更改为无限制。
* hard nofile 10000
* soft nofile 10000
* hard nproc unlimited
* soft nproc unlimited
* hard stack 65536
* soft stack 65536
但是我仍然遇到fork错误。我想显示出CPU的效率通过抖动从100降低到70(大约)。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。