Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 10 Sep 2015 14:56:31 -0500
From:      Eric van Gyzen <vangyzen@FreeBSD.org>
To:        John-Mark Gurney <jmg@funkthat.com>, Adrian Chadd <adrian@freebsd.org>
Cc:        Warner Losh <imp@bsdimp.com>, Ed Maste <emaste@freebsd.org>, "src-committers@freebsd.org" <src-committers@freebsd.org>, "svn-src-all@freebsd.org" <svn-src-all@freebsd.org>, "svn-src-head@freebsd.org" <svn-src-head@freebsd.org>
Subject:   Re: svn commit: r287606 - head/sys/kern
Message-ID:  <55F1E06F.7000008@FreeBSD.org>
In-Reply-To: <20150910175324.GW33167@funkthat.com>
References:  <201509100405.t8A45xrJ070199@repo.freebsd.org> <CAPyFy2DjD3Dv6VYjd_6CKe3_2ZuMC5ayMKnzATLb=a4yZUYyLw@mail.gmail.com> <CANCZdfoBN9keiZCUpJ_v5y6mUpKcY_26Y_2=xCLwJovz%2B8a_xQ@mail.gmail.com> <CAJ-VmonUm5Sf8TPLnciouyiJjLUndtNJX368US5_hgQwzYBdkQ@mail.gmail.com> <20150910175324.GW33167@funkthat.com>

next in thread | previous in thread | raw e-mail | index | archive | help
On 09/10/2015 12:53, John-Mark Gurney wrote:
> Adrian Chadd wrote this message on Thu, Sep 10, 2015 at 09:18 -0700:
>> On 10 September 2015 at 09:04, Warner Losh <imp@bsdimp.com> wrote:
>>>
>>>
>>> On Thu, Sep 10, 2015 at 9:53 AM, Ed Maste <emaste@freebsd.org> wrote:
>>>>
>>>> On 10 September 2015 at 04:05, Adrian Chadd <adrian@freebsd.org> wrote:
>>>>> Author: adrian
>>>>> Date: Thu Sep 10 04:05:58 2015
>>>>> New Revision: 287606
>>>>> URL: https://svnweb.freebsd.org/changeset/base/287606
>>>>>
>>>>> Log:
>>>>>   Also make kern.maxfilesperproc a boot time tunable.
>>>>> ...
>>>>>   TODO:
>>>>
>>>> Also "we" should
>>>> * Submit patches upstream or to the ports tree to use closefrom
>>>
>>>
>>> I thought the consensus was that we'd fix things to have fewer FDs
>>> by default, but instead allow individual processes to raise it via the
>>> usual methods.

We could--and should--do both, because they're both good ideas.

>> I'm looking at how to do this in a somewhat sensible fashion. Right
>> now we just have openfiles=unlimited; in /etc/login.conf which seems a
>> little odd. I don't know yet if that affects the default set that
>> services started via /etc/rc get - init gets the whole default
>> maxfilesperproc and stuff seems to inherit from that unless told
>> otherwise.
>>
>> I think the more sensible default would be:
>>
>> * set  /etc/login.conf to some much lower values - say, 4k soft, 64k hard;
>> * root can always override its settings up to kern.maxfilesperproc;
>> * modify /etc/rc to set some default rlimits as appropriate;
> 
> We should probably just use the daemon class from login.conf... Do we
> have a program that will set the current limits to a specified class?

See limits(1).  The apache rc.d script uses it, along with some related
rc.conf variables.

>> * introduce configuration options ({daemon_rlimit_XXX}?) in
>> /etc/rc.conf that lets someone override what the default rlimits
>> should be for a given process,, as (and I'm not making this up) if you
>> run 'service XXX restart' from a root login you get the rlimits from
>> the shell, which may differ from the system startup.
> 
> Why not daemon_login_class w/ the above?
> 
>> That way we can setup various services to have higher openfile limits
>> via /etc/rc.conf entries for those services rather than having to hack
>> each startup script. It also means that no matter what is running
>> 'service XXX YYY' as root, you'll get the 'correct'(er) rlimits.
> 
> Then service would just use the above program to get sane defaults...
> 



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?55F1E06F.7000008>