开发者社区> 问答> 正文

linux 最大打开文件数配置值 有没有限制:报错

配置Web服务器 通常会提高 linux 系统能打开的最大文件数,

/etc/security/limits.conf

* soft nofile 65535

* hard nofile 65535

这里配置的是 65535

这个只有没有限制? 最大允许配置多少,或者说配置这个值与什么有关? 打开的所有文件句柄总数所占内存有关?

展开
收起
kun坤 2020-06-14 06:48:02 558 0
1 条回答
写回答
取消 提交回答
  • 这个是打开文件最大句柄数值,最大就是65535.。。######以前我这样认为,现在发现网上很多资料都比这个大######

    有硬限制和软限制。getrlimit函数(c语言)获取限制,setrlimit设置限制。每个进程能打开的最大文件数

    #include<sys/resource.h>
    #include<stdio.h>
    #include<unistd.h>
    
    int main(void)
    {
    	printf("%d\n",sysconf(_SC_OPEN_MAX));
    	struct rlimit limit;
    	if ( getrlimit(RLIMIT_NOFILE,&limit) <0)
    	{
    		fprintf(stderr,"getrlimit error");
    		exit(1);
    	}
    	printf("soft NOFILE:%d\t,hard NOFILE:%d\n",limit.rlim_cur,limit.rlim_max);
    
    	return 0;
    }
    [pyplus@pyplus  Documents]$ ./a.out 
    1024
    soft NOFILE:1024	,hard NOFILE:4096
    软限制不可高于硬限制,可以设置硬限制为无限量参数是RLIM_INFINITY

    ######软限制值要小于或等于硬限制,这个我了解。 我翻了些资料, 这里配置的硬限制应该小于 /proc/sys/fs/file-max配置的系统级打开文件数硬限制值,而 /proc/sys/fs/file-max应该按照 系统硬件综合评估。不知道这样理解对不? 这样有没有个评估标准呢?
    2020-06-14 06:48:09
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
Alibaba Cloud Linux 3 发布 立即下载
ECS系统指南之Linux系统诊断 立即下载
ECS运维指南 之 Linux系统诊断 立即下载