Establish Limits for User Processes and File Descriptors
- concept
The maximum permitted number of concurrent user processes, and currently open file descriptors, are established on Linux systems with default values that are low for running Enterprise Analytics with optimal performance and scale. The maximum number of user processes must be reset to at least 10,000 and the maximum number of file descriptors to at least 200,000.
To establish limits for user processes and file descriptors:
-
To check the current setting for user processes for the current administrator, use:
ulimit -u
The response indicates the maximum number of user processes permitted for the administrator, which this example assumes to be the default value, applied to all users.
3829
In this case, the number
3829`is lesser than the Enterprise-Analytics requirement of `10000
. -
To check the current setting for file descriptors, use:
ulimit -n
The response indicates the maximum number of file descriptors permitted for the administrator, which this example assumes to be the default value, applied to all users.
1024
In this case, the number
1024
is lesser than the Enterprise-Analytics requirement of200000
. -
To raise the current limits on user processes and file descriptors, access
/etc/security/limits.conf
, and addhard
andsoft
lines for thenproc
andnofile
types, specifying appropriate values. Thedomain
value should be the user-name of the user, or the group-name of the group, designated to install and run Enterprise Analytics.Following these additions, the lines should appear as follows:
nameofuserorgroup soft nproc 10000 nameofuserorgroup hard nproc 10000 nameofuserorgroup soft nofile 200000 nameofuserorgroup hard nofile 200000
Save the file and exit.
-
Reboot the machine.
-
Following reboot, the designated user or group-member can check all the limits that apply to them, as follows:
ulimit -a
This displays a list of limits for the designated user or group, among which appear the modified values for user processes and file descriptors:
core file size (blocks, -c) 0 data seg size (kbytes, -d) unlimited scheduling priority (-e) 0 file size (blocks, -f) unlimited pending signals (-i) 3829 max locked memory (kbytes, -l) 64 max memory size (kbytes, -m) unlimited open files (-n) 200000 pipe size (512 bytes, -p) 8 POSIX message queues (bytes, -q) 819200 real-time priority (-r) 0 stack size (kbytes, -s) 8192 cpu time (seconds, -t) unlimited max user processes (-u) 10000 virtual memory (kbytes, -v) unlimited file locks (-x) unlimited