On 2008-Sep-27 22:14:09 +0200, Miroslav Lachman <[EMAIL PROTECTED]> wrote:
>[EMAIL PROTECTED] ~/# fstat -u www | wc -l
>     9931
>[EMAIL PROTECTED] ~/# fstat -u root | wc -l
>      718
>[EMAIL PROTECTED] ~/# fstat | grep httpd | wc -l
>     6379
>[EMAIL PROTECTED] ~/# fstat | grep httpd | wc -l
>     6002
>[EMAIL PROTECTED] ~/# fstat -u www | wc -l
>     4691
>[EMAIL PROTECTED] ~/# 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).

-- 
Peter Jeremy
Please excuse any delays as the result of my ISP's inability to implement
an MTA that is either RFC2821-compliant or matches their claimed behaviour.

Attachment: pgpFX8suq2Bn0.pgp
Description: PGP signature

Reply via email to