Как настроить inotify, чтобы использовать меньше памяти? - PullRequest
2 голосов
/ 30 декабря 2010

Я работаю над встроенной системой Linux.

Я пытался использовать inotify для отслеживания изменений. Но когда я пытался отслеживать огромное количество папок (скажем, более 6000 папок), inotify использует много памяти (около 25-30 МБ). Как вы все знаете, 25-30 МБ встроенной системы считается большим ...

Мои вопросы;

  • это нормально?
  • Кто-нибудь знает, как это настроить?
  • есть ли альтернатива для мониторинга огромного количества папок без добавления часов в каждую папку?

Ответы [ 3 ]

2 голосов
/ 30 декабря 2010

Насколько я знаю, рекурсивные часы невозможны с непатентованным ядром Linux. Смотрите также https://superuser.com/questions/118642/recursive-filesystem-notifications-inotify-for-ubuntu-karmic-koala. Возможно, fanotify будет работать для вас, но для этого нужен патч для ядра.

0 голосов
/ 03 июля 2013

При использовании inotify.
неизбежно рекурсивный мониторинг каталогов. ссылка:
http://en.wikipedia.org/wiki/Inotify#Limitations

Чтобы улучшить производительность inotify(7) (возможно, уменьшить использование памяти), я предлагаю:
Когда вы начинаете просматривать каталог, просто сосредоточьтесь на типах inotify_event, которые вас интересуют (как можно меньше), вы можете настроить аргумент mask функции inotify_add_watch(2), чтобы добиться этого. Установка значения аргумента mask на IN_ALL_EVENTS для отслеживания всех видов на inotify_event иногда не требуется.

Надеюсь, это поможет.

0 голосов
/ 31 декабря 2010

Изучите использование Auditd .

Существует также файловая система пространства пользователя, которая называется loggedfs , но я не смог заставить ее работать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...