How to deal with error: Too many open files in system?

Solution 1:

This means your system ran out of file handles, either in your php or in another application. Make sure to close any files you open to free file handles.

To the number of handles of every program running, use (as root):

for p in $(ps -A -o pid); do
    nh=$(ls /proc/$p/fd  2>/dev/null | wc -l) &&
    exe=$(readlink -f /proc/$p/exe  2>/dev/null) &&
    echo "$p ($exe): $nh"
done

For a more verbose output, use lsof.

You can also increase the number of possible system file handles by modyfing /etc/security/limits.conf (which effects changes to /proc/sys/fs/file-max), and decrease it for the current terminal session with ulimit -n.