This is a remarkably easy problem to solve.
From man:
1 2 3 4 5 | The inotify API provides a mechanism for monitoring filesystem events. Inotify can be used to monitor individual files, or to monitor directories. When a directory is monitored, inotify will return events for the directory itself, and for files inside the directory. |
The problem is a kernel based value, that determines how much memory is used by processes such as lsyncd. Lets just double check what value it is set to presently:
Check Inotify max_user_watches value presently
1 2 | [root@server php] # cat /proc/sys/fs/inotify/max_user_watches 100000 |
Check the amount of available memory on the server to ensure it can deal with the increase
1 2 3 4 5 | [root@server-new php] # free -m total used free shared buffers cached Mem: 7358 6577 781 1 376 2427 -/+ buffers /cache : 3773 3584 Swap: 0 0 0 |
The cache can be added to free, as a maximum saturation. Linux uses lots of memory it doesn’t really need for efficiency.
Each used inotify watch uses 1 kB RAM in 64 bit systems, for 32bit its half.
Increase Inotify watches to a higher value
1 | sysctl fs.inotify.max_user_watches=200000 |