I'm using RHEL 6 / CentOS 6.x and install the memcached server. However, whey I try to start the server using service memcached start command, I get the following error:
Starting memcached: failed to set rlimit for open files. Try running as root or requesting smaller maxconns value. [FAILED]
How do I fix this problem?
Linux comes with per-process file and system-wide file system descriptor limits. Each user has per-process file descriptor limits. The default is set to 1024 including the hard limit, which is also set to 1024. Only root user can increase the hard limit. In my experience you need to to increase this when starting the memcached server.
More About Memcached
The memcached server is run as memcached user. You can verify this by visiting the /etc/passwd file, enter:
$ less /etc/passwd
$ grep -i memcached /etc/passwd
The default config file is located at /etc/sysconfig/memcached:
$ cat /etc/sysconfig/memcached
Sample outputs:
PORT="11211" USER="memcached" MAXCONN="4096" CACHESIZE="256" OPTIONS="-l 192.168.1.100"
Set Per-process File Descriptor Limits For Memcached
Edit /etc/security/limits.conf file, enter:
# vi /etc/security/limits.conf
Set max number of open files for memcached user as follows:
#"soft" for enforcing the soft limits #"hard" for enforcing hard limits # "nofile" max open file # ********************************************************************* # * Note soft limit must be >= MAXCONN value (defined in /etc/sysconfig/memcached * # ********************************************************************* # Username type item value memcached soft nofile 5000 memcached hard nofile 6144
Save and close the file. You need to logout and login again. Now type the following command to start the memcached server:
# /sbin/service memcached start
Please note that you can set global limit for all process by replacing the memcached with * as follows:
# Username type item value * soft nofile 5000 * hard nofile 6144
You should follow me on twitter here or grab rss feed to keep track of new changes.
Featured Articles:
- 30 Handy Bash Shell Aliases For Linux / Unix / Mac OS X
- Top 30 Nmap Command Examples For Sys/Network Admins
- 25 PHP Security Best Practices For Sys Admins
- 20 Linux System Monitoring Tools Every SysAdmin Should Know
- 20 Linux Server Hardening Security Tips
- Linux: 20 Iptables Examples For New SysAdmins
- Top 20 OpenSSH Server Best Security Practices
- Top 20 Nginx WebServer Best Security Practices
- 20 Examples: Make Sure Unix / Linux Configuration Files Are Free From Syntax Errors
- 15 Greatest Open Source Terminal Applications Of 2012

- My 10 UNIX Command Line Mistakes
- Top 10 Open Source Web-Based Project Management Software
- Top 5 Email Client For Linux, Mac OS X, and Windows Users
- The Novice Guide To Buying A Linux Laptop














{ 2 comments… read them below or add one }
change the system wide ulimit for files?
That would interfere with everything outside of memcached, as well.
Vivek is showing a way to limit it only for a particular application.