Як встановити та зрозуміти fs.notify.max_user_watches


13

Я не розумію , що найкращий спосіб встановити fs.inotify.max_user_watchesз sysctl. Насправді я не розумію багато що з того, що відбувається тут, крім того, що мені потрібно встановити кількість файлів, які можна переглянути за певним процесом.

Я вважаю, що я можу побачити максимальну кількість користувачів, виконавши цю команду:

cat /proc/sys/fs/inotify/max_user_watches

Я розумію, що деякі люди пропонують змінити /proc/sys/fs/inotify/max_user_watches, відкривши /etc/sysctl.confредактор і додавши це до нього:

fs.inotify.max_user_watches=524288

Потім запустіть, sudo sysctl -pщоб - імовірно - обробити зміни, внесені у файл.

Інші пропонують виконувати такі команди:

sudo sysctl -w fs.inotify.max_user_instances=1024
sudo sysctl -w fs.inotify.max_user_watches=12288

Я знаю, що -wозначає писати, але що пишеться і де? Чи просто ця команда змінюється /proc/.../max_user_watches?

Який із двох описаних вище підходів найкращий? Я розумію, що 524288 і 12288 - це різні числа, але я не розумію різниці між ефектом бігу -pі -w.

Відповіді:


10

sysctl -wзаписує значення параметрів ядра у відповідні клавіші під /proc/sys:

sudo sysctl -w fs.inotify.max_user_watches=12288

пише 12288до /proc/sys/fs/inotify/max_user_watches. (Це не рівнозначно, це саме так; зацікавлені читачі можуть straceце побачити самі.)

sysctl -p

завантажує налаштування з файлу /etc/sysctl.conf((за замовчуванням) або будь-якого файла, вказаного після -p.

Різниця між обома підходами, крім різних джерел параметрів та значень, які вони записують, полягає в тому, що -wзмінить параметри лише до наступного перезавантаження, тоді як значення, збережені в, /etc/sysctl.confбудуть застосовуватися знову при кожному завантаженні системи. Мій звичайний підхід полягає у використанні -wдля тестування значень, тоді, коли я впевнений, що нові налаштування в порядку, запишіть їх у /etc/sysctl.confфайл /etc/sysctl.d(як правило /etc/sysctl.d/local.conf).

Детальні відомості див . На сторінках sysctlта sysctl.confвручну ( man sysctlта man sysctl.confу вашій системі).

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.