Linux performs real-time file watching using the inotify API. Inotify imposes a limit on the number of "watches" that can be in use on a system at any given time. If CrashPlan exceeds inotify's max watch limit, real-time file watching fails to work properly.
CrashPlan app for Linux
A "watch" corresponds to one watched file or directory. Inotify commonly limits the max watch value to 8192. If CrashPlan watches more files than the max watch limit, real-time file watching fails to work properly. Some or all file changes are not detected until CrashPlan's file verification scan runs.
NOTE: This issue is not related to the issues seen on all platforms surrounding the maximum number of open files allowed by an operating system.
- Some files selected for backup are immediately backed up when changes are made, while others are not.
- After screen is locked, you are are unable to sign back into your desktop session.
- Error messages in service.log specify "Unable to add watch for path [filepath], errno: 28," like the following:
WARNING W2108307534_ScanWrkr com.backup42.jna.inotify.InotifyManager.watch ] Unable to add watch for path /var/www/php/common/gen2.save/ext-lib/Dojo/dojox/highlight, errno: 28
Step 1: Find the current watch limit
Find the current inotify watch limit by examining the proc file system. In Terminal, run the following:
Step 2: Change the watch limit on a running system
To change the value on a running system, use the following command.
In this example, 1048576 is being set as the new value. Adjust this number as appropriate for your system.
echo 1048576 > /proc/sys/fs/inotify/max_user_watches
Step 3: Make the change persist through a restart
The change above will not survive a restart. To make the change permanent, do the following:
- Edit /etc/sysctl.conf as root:
sudo nano /etc/sysctl.conf
- Set (or add if it's not present) the "
fs.inotify.max_user_watches" parameter. Set this to the desired number of watches:
- Save sysctl.conf and exit.
If you're using nano, press Control+X, followed by Y, then Enter to save the file.
- Either reboot the system or execute the following command:
sudo sysctl -p /etc/sysctl.conf