Current-Users archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

sysctl documentation

I've often stumbled upon a new line in my sysctl -a output, and wondered what 
exactly it does.

Today's items:

net.inet.tcp.recvbuf_auto = 1
net.inet.tcp.recvbuf_inc = 16384
net.inet.tcp.recvbuf_max = 262144
net.inet.tcp.sendbuf_auto = 1
net.inet.tcp.sendbuf_inc = 8192
net.inet.tcp.sendbuf_max = 262144

and their tcp6 variants.

While these are documented in the code, I can't find a man page that talks 
about them.  I don't (yet) know where they came from, if they should be used 
or not, etc.  I chose to try them out rather than setting the default sockets 
to something huge.

I feel this is probably because our sysctl documentation structure is a 
little... odd.  I would expect to be able to find information on tcp settings 
in "man tcp" or a reference there, but nope.  "man 7 sysctl" does it, but 
when searching for performance tuning options, "sysctl" might not spring to 

Putting all sysctl information in one place might be making it harder than 
expected to maintain words describing these options.

On a side note, our default send/receive socket values are small enough that I 
can only get 350 kbytes/sec using scp between a 100 GB link here at IETF and 
a 1 GB link back in California.  Upping these to 2x their current values let 
me get 1 megabyte/sec, and upping them to 128k on each end made my laptop's 
hard drive limit the transfer rate.


Home | Main Index | Thread Index | Old Index