猿问

linux 资源限制,软限制可以超出硬限制么?

while(f>oldlimit){
intdecr_step=16;
limit.rlim_cur=f;
limit.rlim_max=f;
if(setrlimit(RLIMIT_NOFILE,&limit)!=-1)break;
setrlimit_error=errno;
/*Wefailedtosetfilelimitto'f'.Trywitha
*smallerlimitdecrementingbyafewFDsperiteration.*/
if(ff-=decr_step;
}
网上说软限制不能超出硬限制,为什么不直接把软限制改成和硬限制一样大呢,如上代码(redis源码)还尝试什么?
RISEBY
浏览 298回答 2
2回答

叮当猫咪

我猜是因为Redis不想检查自己有没有更改rlim_max的权限,所以直接尝试好了。如果直接把软限制改成和硬限制一样大,那还要判断,如果maxfiles>rlim_max,自己能不能把rlim_max改大,如果不能,再设置rlim_cur为rlim_max。检查和设置之间还有竞态。
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答