Too many open files - how to find the culprit
You can use lsof to understand who's opening so many files. Usually it's a (web)server that opens so many files, but lsof will surely help you identify the cause.
Once you understand who's the bad guy you can
- kill the process/stop the program
- raise the ulimit
If output from lsof is quite huge try redirecting it to a file and then open the file
Example (you might have to Ctrl+C the first command)
lsof > ~/Desktop/lsof.log
cat ~/Desktop/lsof.log | awk '{ print $2 " " $1; }' | sort -rn | uniq -c | sort -rn | head -20
vim ~/Desktop/lsof.log
In case anyone else needs it...
ulimit -a
Will display all current limits. Specifically ulimit -n 70000
will set the file descriptor limit.
Also...
cat /proc/sys/fs/file-max
Will display/set the kernel limit if edited.
sudo echo 200000 > /proc/sys/fs/file-max
A much more detailed explanation can be found at...
How do I increase the open files limit for a non-root user?