The sockthresh and strthresh threshold tunables

The sockthresh and strthresh tunables are the upper thresholds to limit the opening of new sockets or TCP connections, or the creation of new streams resources. This prevents buffer resources from not being available and ensures that existing sessions or connections have resources to continue operating.

The sockthresh tunable specifies the memory usage limit. No new socket connections are allowed to exceed the value of the sockthresh tunable. The default value for the sockthresh tunable is 85%, and once the total amount of allocated memory reaches 85% of the thewall or maxmbuf tunable value, you cannot have any new socket connections, which means the return value of the socket() and socketpair() system calls is ENOBUFS, until the buffer usage drops below 85%.

Similarly, the strthresh tunable limits the amount of mbuf memory used for streams resources and the default value for the strthresh tunable is 85%. The async and TTY subsytems run in the streams environment. The strthresh tunable specifies that once the total amount of allocated memory reaches 85% of the thewall tunable value, no more memory goes to streams resources, which means the return value of the streams call is ENOSR, to open streams, push modules or write to streams devices.

You can tune the sockthresh and strthresh thresholds with the no command.