How to get maximum TCP Receive/Send window in MAC OS X?
There are two ctl in Linux. /proc/sys/net/core/rmem_max - Maximum TCP Receive Window (NET_CORE_RMEM_MAX) /proc/sys/net/core/wmem_max - Maximum TCP Send Window (NET_CORE_WMEM_MAX)
but i couldn't find how to get these parameters in mac os.
Does anybody know?
I have found the following ctls in MAC OS X: net.inet.tcp.recvspace, net.inet.tcp.sendspace, kern.ipc.maxsockbuf
It seems that recvspace+sendspace can't be greater than maxsockbuf. I have read about it here: http://www.macgeekery.com/tips/configuration/mac_os_x_network_tuning_guide_revisited
I'm not 100% sure whether these are the correct ones, but try sysctl -n net.inet.tcp.recvspace
and sysctl -n net.inet.tcp.sendspace
. You can set them with sysctl -w
(see man sysctl
).
As OP mentioned: recvspace+sendspace < maxsockbuf
maxsockbuf
is limited by kern.ipc.nmbclusters
, nmbclusters*2KB/16=maxsockbuf
sysctl -a | egrep nmbcl\|maxsockb
kern.ipc.maxsockbuf: 8388608
kern.ipc.nmbclusters: 65536
To increase maxsockbuf
, tell the system to use more than the
default mbufclusters
via the ncl boot arg: (you need to disable SIP before edit boot-args)
nvram boot-args="ncl=131072"
shutdown -r now
quote from here
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With