tail: inotify нельзя использовать, возвращаясь к опросу: слишком много открытых файлов

У меня не было удачи, заставляя Академию джедая работать с вином или PlayOnLinux (хотя я сделал с Рыцарем-джедаем), но , openJK проект действительно работал и работает отлично на меня с Академией.

Пропуск вниз к части веб-сайта маркировал "for players".

14
задан 13.04.2017, 15:23

6 ответов

Я думаю , что ответ не является полным (в нем ничего не говорится о максимальном ограничении файлов, открытых в системе).

Существует два ограничения на максимальное количество открытых файлов:

  1. Максимальное ограничение на количество открытых файлов на процесс .

    • Вы можете увидеть, какое значение этого предела можно использовать: ulimit -n
    • Вы можете изменить этот предел, используя: ulimit -n new_limit_number
    • Вот команда чтобы получить 10 лучших процессов с множеством открытых файлов:

      lsof | awk '{ print $2; }' | sort -rn | uniq -c | sort -rn | head
      
  2. Максимальный лимит открытых файлов на систему .

    • Вы можете увидеть, какое значение этого предела можно использовать: cat /proc/sys/fs/file-max
    • Вы можете изменить это ограничение, используя: echo new_limit_number > /proc/sys/fs/file-max
    • Подсчитать все дескрипторы открытых файлов: [ 115]
9
ответ дан 11.10.2019, 15:30

Это было решено для меня, следуя инструкциям на http://peter-butkovic.blogspot.com/2013/08/tail-inotify-resources-exhausted.html

Постоянное решение (сохраняется при перезапусках) Добавление строки:

fs.inotify.max_user_watches=1048576

к:

/etc/sysctl.conf

фиксированное предельное значение постоянно (даже между перезапусками).

затем сделать

sysctl -p
14
ответ дан 11.10.2019, 15:30
  • 1
    Увеличение дескрипторов файлов doesn' t помогают мне. Мой tail сообщение немного отличался: tail: inotify resources exhausted. Этот ответ помог мне. Можно также использовать sudo sysctl -w fs.inotify.max_user_watches=1048576 && sysctl -p, чтобы протестировать, если это помогает, постоянно не изменяя его. Это сообщение также помогает nefaria.com/2014/08/tail-inotify-resources-exhausted – Joachim Sauer 02.10.2017, 21:27

Скорее всего, у вас закончились часы inotify. Возможно, вы используете некоторые инструменты синхронизации файлов (например, Dropbox) в фоновом режиме?

В Linux во внутренней реализации команды tail -f по умолчанию используется механизм inotify, чтобы отслеживать изменения файлов. Если у вас закончились все часы inotify (по умолчанию 8192), тогда inotify -f придется переключиться на опрос, чтобы обнаружить изменения в этом файле.

Конечно, вы можете изменить максимальное количество inotify часов.

ссылка:
http://www.quora.com/How-is-tail-f-implemented
http: //peter-butkovic.blogspot.com/2013/08/tail-inotify-resources-exhausted.html
https://serverfault.com/questions/510708/tail-inotify -не может быть использован-возвращен-на-опрос слишком много открытых файлов

6
ответ дан 11.10.2019, 15:30

sysctl fs.inotify.max_user_instances получит лимит на пользователя для inotify.

Я испытал это, и все ограничения системы были достаточно высокими, но настройки по умолчанию обычно относительно низки, вы можете увеличить его в sysctl.conf и перезагрузить его sysctl -p.

3
ответ дан 11.10.2019, 15:30

Проверьте версию своего ядра, это может быть ошибка:

https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1101666

0
ответ дан 11.10.2019, 15:30

Запустите

ps aux | grep tail

, чтобы проверить, слишком много ли запущено хвостовых команд, таких как spawn от crontab.

3
ответ дан 11.10.2019, 15:30
  • 1
    ха это на самом деле работало, выслеживая слишком много файлов – Neil 10.01.2017, 23:36
  • 2
    Как я перевожу данные? Можно ли объяснить, что означает каждая информация и что делать с этим? Например: root 20161 0.0 0.0 11132 1044 pts/0 S+ 17:27 0:00 grep tail – Thomas 08.08.2018, 20:29
  • 3
    Это - проблема, только если СЛИШКОМ МНОГО подобранных процессов, подобранная строка содержат " grep" сгенерирован самой командой. Используйте " pgrep tail" команда вместо этого. – Alex Musayev 14.01.2019, 11:34

Теги

Похожие вопросы