LM_SERVER_HIGHEST_FD is an environment variable
Why was it needed
In previous version of toolkits, in the event that lmgrd encountered a connection with a file descriptor number greater than the maximum that can be accommodated in an fd_set buffer, an lmgrd core dump previously occurred.
Who needs to set it?
The LM_SERVER_HIGHEST_FD environment variable can be set by the license administrator (on the server) to limit the maximum file descriptor number that can be assigned to a lmgrd connection.
Why/What is "LM_SERVER_HIGHEST_FD" environment variable
LM_SERVER_HIGHEST_FD is a throttling mechanism to prevent the server from becoming overloaded by an excess of simultaneous incoming requests. Once the LM_SERVER_HIGHEST_FD limit is reached requests are discarded until the overload situation has abated. In this way the server can continue operating upon those requests which have been accepted and hence there is no need to perform a restart.
LM_SERVER_HIGHEST_FD is lmgrd-only, specifically related to connections to lmgrd, before lmgrd hands off to VD.
Default values and Max
If the value defined by LM_SERVER_HIGHEST_FD is larger than the maximum then the system maximum value will be used instead. Technically, the upper limit is defined by the preprocessor macro NHANDLE defined in corecrt_internal_lowio.h in the Windows SDK sources for the UCRT
With Windows Sockets 2 all socket "file descriptors" are actually Windows handles and last two bits of the Windows handle are always 00. So the fd's returned by accept are in multiples of 4 on Windows. Hence for simultaneous 1000 client connections, 4096 (> 4000) is the defined limit.
Not to Miss
when a client connects using a file descriptor > LM_SERVER_HIGHEST_FD, it will receive an error such as -16 (LM_CANTREAD) or -95 (LM_NOT_THIS_HOST) and the message “Warning: Maximum connections to the server has reached. Please disconnect some clients from the server “will be written to the server log (FNP-11133).
In some cases, the lmgrd process may be overwhelmed by client connections before the file descriptor allocation is exceeded: symptoms of this occurring are when clients receive -15 (LM_CANTCONNECT) errors and an accumulation of sockets on the server in ESTABLISHED or CLOSE_WAIT states while client volume is high. This is an indication that the server hardware resources are not handling the client load: in such cases one option to reduce load on the server is to decrease the LM_SERVER_HIGHEST_FD value (FNP-13992).>
Related Articles
Can Licenses be Activated Directly from Server Side Trusted Storage 8Number of Views Error "Wrong hostid on SERVER Line for License File, hostid is (Can't get hostid of type 15 []) When Locking to a Dongle" 18Number of Views A network drive mapped in VMware Tools is accessible only to Standard users, blocking access for InstallShield running as … 19Number of Views FlexNet Embedded Error: 7000001e (Signature didn't pass validation) 17Number of Views Handshake failed. Cannot connect to server. No endpoint can establish a connection to the server. 275Number of Views
Hi, I am Reva - Ask me anything.
No new updates
Thanks for the feedback!
Your feedback has been saved.Rate this response:
Add Additional feedback ( Optional )
Are you sure you want to cancel
the case creation?
Are you sure you want to cancel the case creation?
Are you sure you want to close this case
| Products | Region | Phone Numbers |
|---|---|---|
| FlexNet Operations FlexNet Embedded FlexNet Publisher FlexNet Connect FlexNet Code Insight InstallAnywhere InstallShield |
North America * |
+1 630-332-2513 (toll) +1 877-279-2853 (toll-free in North America) |
| Europe * |
+44 1925 944367 (toll) +44 800 047 8642 (toll-free in Europe) |
|
| Japan * | +81 3-4540-5335 (select option 2) | |
| Australia * |
+61 3 9895 2177 +61 1800 560 603 (toll-free in Australia) |
|
|
Usage Intelligence (formerly
Revulytics) Compliance Intelligence |
Please use the Case Portal to submit your support ticket or reach out to your Revenera contact. | |
Case id: 00001065
Activity: Status change: 2 hours ago