Skip to main content
CrashPlan Support

Linux Real-Time File Watching Errors

Applies to:
  • CrashPlan for Home
Need enterprise or small business documentation?
This article is intended for CrashPlan for Home users. For Code42 CrashPlan and CrashPlan for Small Business documentation, read this page on our enterprise support site.

Overview

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.

Affects

CrashPlan app for Linux

Description

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.

Symptoms

  • 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

Recommended solution

Step 1: Find the current watch limit

Find the current inotify watch limit by examining the proc file system. In Terminal, run the following:

cat /proc/sys/fs/inotify/max_user_watches

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:

  1. Edit /etc/sysctl.conf as root:
    sudo nano /etc/sysctl.conf
  1. Set (or add if it's not present) the "fs.inotify.max_user_watches" parameter. Set this to the desired number of watches:
    fs.inotify.max_user_watches=1048576
  1. Save sysctl.conf and exit.
    If you're using nano, press Control+X, followed by Y, then Enter to save the file.
  2. Either reboot the system or execute the following command:
    sudo sysctl -p /etc/sysctl.conf