Я использую приложение, которое потребляет часы inotify. Я уже установил
fs.inotify.max_user_watches=32768
в /etc/sysctl.conf
но прошлой ночью приложение остановлена индексация , если я запустил его вручную, что приводит меня подозревать , что я из часов.
Поскольку я не знаю, в чем заключается компромисс, когда я увеличиваю это число (потребляет ли оно больше оперативной памяти?), Я не знаю, стоит ли мне просто увеличивать это число, поэтому я хотел бы знать, есть ли способ, которым я может сказать, использует ли он все эти часы и какие могут быть компромиссы для его увеличения.
Ответы:
Как узнать, что у вас нет часов? хвост покажет!
tail
с-f
опции (follow) для любого старого файла, напримерtail -f /var/log/dmesg
:Для любопытных: почему хвост - это «хвост»?
strace tail -f ...
вместо этого, и когда это удастся, это заканчивается:Можете ли вы увеличить часы? На сколько? Есть ли компромиссы?
Краткий ответ: Конечно, нет пота. Если хотите, переходите к полумиллиону (524288) ... используемая дополнительная память должна быть незначительной в современной системе с 4 ГБ + памяти.
Итак, предполагая, что вы установили максимум на 524288, и все были использованы (маловероятно), вы бы использовали прибл. 256 МБ / 512 МБ 32-битной / 64-битной памяти ядра
Какое максимальное значение? Я думаю, нет, теоретически, если у вас достаточно оперативной памяти. На практике приложения официально рекомендуют 524288 , и люди устанавливают его на 2 миллиона , с соответствующим использованием памяти, конечно.
источник
sudo lsof | grep -i inotify | wc -l
Я не знаю, стоит ли мне просто увеличить это число
Простой способ проверить, достигли ли вы своей
max_user_watches
ценности, - использовать вместе с пользователемinotifywatch
из пакетаinotify-tools
и проверить, можете ли вы по-прежнему собирать информацию из файла.Например
inotifywatch -v /home/bruno/.profile
для меня возвращает:Так
inotify
что нет проблем при создании новых часов, здесь нет проблем.Если вы достигли своего максимального предела в часах inotify, он вернет что-то вроде
Если вы видите что-то подобное, значит, вы достигли предела, и вам нужно будет увеличить допустимое количество часов.
Это потребляет больше оперативной памяти?
Да. Но согласно этой старой статье количество, которое он потребляет, минимально по сравнению с другими аспектами работающего рабочего стола.
Я, конечно, предполагаю, что вещи не сильно изменились с момента написания статьи, но, глядя на цифры, я бы не волновался, и увеличение лимита не сильно увеличит потребление ОЗУ.
Похожие посты о
inotify
Ошибка Dropbox - 'echo 100000 | sudo tee / proc / sys / fs / inotify / max_user_watches '
ядро-Inotify-часовой предел, достиг
источник