By default, the maximum number of opened file descriptors for an Open vSwitch process is 65535. This limit should never be reached.
If the NSX Gateway stops working because OVS is unable to create more miss handler threads, then the administrator must manually take one of the following actions:
- set a higher file descriptor limit; or
- reduce the number of miss handler threads
Either of the above actions will have the effect of allowing the Gateway to support more logical ports (We refer to the maximum number of supported logical router ports as the "lrp_limit".)
Calculating the maximum number of logical router your Gateway can support:
Using the values of:
- the limit of opened file descriptors (number_of_files),
- the number of miss handler threads (number_of_handlers), and
- the number of other bridge ports in the datapath ("number_of_other_ports")
you can calculate the suggested maximum number of logical router ports ("lrp_limit") that can be supported by the Gateway using the following formula:
lrp_limit = floor(number_of_files / number_of_handlers) - number_of_other_ports.
(Note: Use the command "cat /proc/`pidof ovs-vswitchd`/task/*/status | grep -i name" to check the current number of miss handler threads.)
To address the issue, do one of the following:
- set a higher file descriptor limit by; or
- reduce the number of miss handler threads by setting the "other_config:n-handler-threads" value in the Open_vSwitch TABLE of the OVS database.