Date: Thu, 19 Jun 2014 01:56:48 +1000 From: Dewayne Geraghty <dewayne.geraghty@heuristicsystems.com.au> To: Mateusz Guzik <mjguzik@gmail.com>, rmg1970swe@gmail.com Cc: FreeBSD Stable Mailing List <freebsd-stable@freebsd.org> Subject: Re: Unchangeable sysctl's in FreeBSD10.0 Stable Message-ID: <53A1B6C0.50701@heuristicsystems.com.au> In-Reply-To: <20140618113246.GA7157@dft-labs.eu> References: <53A15911.5020507@heuristicsystems.com.au> <20140618113246.GA7157@dft-labs.eu>
next in thread | previous in thread | raw e-mail | index | archive | help
On 18/06/2014 9:32 PM, Mateusz Guzik wrote:
> On Wed, Jun 18, 2014 at 07:17:05PM +1000, Dewayne Geraghty wrote:
>> While migrating from 9.2 Stable (9.3Beta3) to 10.0Stable (r267307M) I
>> noticed that some of the sysctl's that I adjust for tuning purposes
>> aren't writeable, instead sysctl returns an "Invalid argument". The two
>> sysctl's of interest are:
>> net.flowtable.maxflows and kern.ipc.maxsockets
>>
>> Would someone advise the new way that these can be adjusted to suite the
>> purpose of the servers? There was no mention in src/UPDATING.
>>
> EINVAL most likely comes from sysctl handler for given variable if it is unhappy
> with new value.
>
> net.flowtable.maxflows's will complain if you are trying to shrink it.
>
> kern.ipc.maxsockets's will complain if the following does not hold:
> if (newmaxsockets > maxsockets &&
> newmaxsockets <= maxfiles) {
>
>
> maxfiles can be read from kern.maxfiles
>
Thanks for providing feedback and advice.
Mateusz,
You've given me a clue and yes, I probably need to read the code first;
I had maxsockets=maxfiles+8.
The default for this 10.0 Stable amd64 machine, with 8GB and
kern.maxusers="512"
# sysctl -ae | egrep "maxsockets|maxfiles="
kern.maxfiles=254868
kern.ipc.maxsockets=254870
Rolf, good suggestion. Though its probably better to check, in my case
sysctl -Ta|egrep "maxsockets|maxflows" # Checks for variables set
within loader.conf
sysctl -Wa | egrep "maxsockets|maxflows" # Checks for variables set via
sysctl.conf (or sysctl).
These particular variables are writeable via sysctl. And frankly, I'm
pleased that sysctl did perform a sanity check and rejected my numbers,
something that I'll need to investigate further. :)
Kind regards, Dewayne.
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?53A1B6C0.50701>
