Настройка inotify для работы с большими файловыми системами

Бибилиотека pyinotify очень полезна и удобна создания различных обработчиков событий происходящих в файловой системе.

Но если вам захочется отслеживать постоянно растущую домашнюю директорию, то вы получите следующие ошибки при запуске монитора:

[2014-07-08 15:50:58,980 pyinotify ERROR] add_watch: cannot watch /home/ffsdmad/.warzone2100-3.1/savegames/skirmish WD=-1, Errno=No space left on device (ENOSPC)
[2014-07-08 15:50:58,980 pyinotify ERROR] add_watch: cannot watch /home/ffsdmad/.warzone2100-3.1/maps WD=-1, Errno=No space left on device (ENOSPC)
[2014-07-08 15:50:58,980 pyinotify ERROR] add_watch: cannot watch /home/ffsdmad/.warzone2100-3.1/music WD=-1, Errno=No space left on device (ENOSPC)
[2014-07-08 15:50:58,980 pyinotify ERROR] add_watch: cannot watch /home/ffsdmad/.warzone2100-3.1/logs WD=-1, Errno=No space left on device (ENOSPC)

Такое необъяснимое поведение библиотеки объясняется дефолтными настройками ядра, которое по умолчанию позволяет простому пользователю создавать всего 629145 наблюдателей(watches)

sysctl | grep max_user_watches

Доведите это число до нужного вам и всё будет работать

sysctl fs.epoll.max_user_watches=1658859
Комментариев 0
Нужна авторизация с помощью
Об авторе
Илья Илья

меня можно найти тут