欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  科技

/proc/sys/fs/file-max

程序员文章站 2022-05-03 22:14:20
Linux的/proc/sys/fs/file max决定了当前内核可以打开的最大的文件句柄数。 查看当前的值: 这个值在kernel的文档里是这样描述的: 意思是file max一般为内存大小(KB)的10%来计算,如果使用shell,可以这样计算: 一般我们不需要主动设置这个值,除非这个值确实较 ......

linux的/proc/sys/fs/file-max决定了当前内核可以打开的最大的文件句柄数。

查看当前的值:

cat /proc/sys/fs/file-max

这个值在kernel的文档里是这样描述的:

the value  in  file-max  denotes  the  maximum number of file handles that the
linux kernel will allocate. when you get a lot of error messages about running
out of  file handles, you might want to raise this limit. the default value is
10% of  ram in kilobytes.  to  change it, just  write the new number  into the
file:

意思是file-max一般为内存大小(kb)的10%来计算,如果使用shell,可以这样计算:

grep -r memtotal /proc/meminfo | awk '{printf("%d",$2/10)}'

一般我们不需要主动设置这个值,除非这个值确实较小(可能有各种其他原因导致file-max没有设置为内存的10%)

如何查看当前kernel的句柄:

cat /proc/sys/fs/file-nr

file-nr在内核文档里得解释如下:

historically, the three values in file-nr denoted the number of allocated file
handles,  the number of  allocated but  unused file  handles, and  the maximum
number of file handles. linux 2.6 always  reports 0 as the number of free file
handles -- this  is not an error,  it just means that the  number of allocated
file handles exactly matches the number of used file handles.