sysctl maxfiles

Miroslav Lachman 000.fbsd at quip.cz
Sat Sep 27 22:44:32 UTC 2008


Peter Jeremy wrote:
> On 2008-Sep-27 22:14:09 +0200, Miroslav Lachman <000.fbsd at quip.cz> wrote:
> 
>>root at roxy ~/# fstat -u www | wc -l
>>    9931
>>root at roxy ~/# fstat -u root | wc -l
>>     718
>>root at roxy ~/# fstat | grep httpd | wc -l
>>    6379
>>root at roxy ~/# fstat | grep httpd | wc -l
>>    6002
>>root at roxy ~/# fstat -u www | wc -l
>>    4691
>>root at roxy ~/# sysctl kern.openfiles
>>kern.openfiles: 846
> 
> 
> kern.openfiles reflects the total number of open file structures
> within the kernel, whereas fstat (and lsof) report both open files
> and vnodes associated with each process.  The differences are
> 1) File structures are shared via fork() etc so the same file structure
>    can be reported multiple times.
> 2) fstat reports executable name, working directory and root
> 
> Open files in fstat can be detected because they have numeric values
> (possibly with a '*' appended) in the FD column.  Unfortunately, there
> doesn't appear to be any easy way to detect shared file structures
> (for inode-based files) using either fstat or lsof.
> 
> In the case of apache, there are at least 6 file structures shared
> by each httpd process (and it looks like it might be about 15).

Thank you for your explanation. (Jeremy Chadwick, Oliver Fromme, Peter 
Jeremy.
Now it makes sense to me.

Miroslav Lachmanx


More information about the freebsd-stable mailing list