sysctl maxfiles
Miroslav Lachman
000.fbsd at quip.cz
Sat Sep 27 20:13:39 UTC 2008
Jeremy Chadwick wrote:
> On Sat, Sep 27, 2008 at 11:10:01AM +1000, Aristedes Maniatis wrote:
>
>>By default FreeBSD 7.0 shipped with the sysctls set to:
>>
>>kern.maxfiles: 12328
>>kern.maxfilesperproc: 11095
[...]
> Anyway, I'd like to know why you have so many fds open simultaneously in
> the first place. We're talking over 11,000 fds actively open at once --
> this is not a small number. What exactly is this machine doing? Are
> you absolutely certain tuning this higher is justified? Have you looked
> into the possibility that you have a program which is exhausting fds by
> not closing them when finished? (Yes, this is quite common; I've seen
> bad Java code cause this problem on Solaris.)
I can imagine some webhosting machine running Apache virtualhosts. Each
virtual host using 3 logfiles (access log, error log, IO log) so it is
"only" about 4000 domains (virtualhosts) which is not so uncommon in
these days ;)
I don't know what files are "really" open in the meaning of
kern.maxfiles. I have webserver with about 100 hosted domains and there
is some numbers:
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
All above taken within few seconds.
Can somebody explain the difference between kern.openfiles and fstat?
Miroslav Lachman
More information about the freebsd-stable
mailing list