Problem
When you run redis server it complains can not set maximum open files because it has reached the OS max file descriptor limits. Here is the sample output.
$ ./bin/redis-server 28436:C 25 Nov 20:10:03.978 # Warning: no config file specified, using the default config. In order to specify a config file use ./bin/redis-server /path/to/redis.conf 28436:M 25 Nov 20:10:03.979 # You requested maxclients of 10000 requiring at least 10032 max file descriptors. 28436:M 25 Nov 20:10:03.979 # Server can't set maximum open files to 10032 because of OS error: Operation not permitted. 28436:M 25 Nov 20:10:03.979 # Current maximum open files is 4096. maxclients has been reduced to 4064 to compensate for low ulimit. If you need higher maxclients increase 'ulimit -n'. [...CUT...]
When you try to increase the maximum file descriptor using ulimit as root by issuing sudo it returns an error.
$ sudo ulimit -n 65000 sudo: ulimit: command not found
Wow, WTF is that? ulimit
is a shell built so giving sudo an instruction to run a command called ulimit will not work. It will the same as statement below.