Hi Peter, The `fds_limit` is hard limit of fds. The 192 fds are reserved for ats internal use (epoll fd , EThread signal, etc ...). The throttle is soft limit of fds and (fds_limit - 192) is the max value of throttle.
We can not and must not change the hard limit since it is set by operating system. Oknet Xu 2017-06-24 3:10 GMT+08:00 Chou, Peter <pbc...@labs.att.com>: > Hi, > > In adj_system_settings() in proxy/Main.cc, we have (paraphrasing here) -- > > if throttle > (current - head_room) then > cur = max = throttle > setrlimit()... > > Would it make more sense to set -- > > cur = max = throttle + head_room > > Otherwise, our users see the warning, try to compensate, and see the > warning again... > > Default of 30000: > > WARNING: connection throttle too high, 30000 (throttle) + 192 (internal > use) > 30000 (file descriptor limit), using throttle of 29808 > Changed to 29800: > WARNING: connection throttle too high, 29800 (throttle) + 192 (internal > use) > 29800 (file descriptor limit), using throttle of 29608 > > We can make the warnings go away by setting the file limit higher in the > systemd file for the service, but the above behavior can cause some > confusion. > > Thanks, > Peter >