При выполнении tail -f filename
, Я получил следующее сообщение:
tail: inotify cannot be used, reverting to polling: Too many open files
Это - потенциальная проблема?
Как я диагностирую то, что ответственно за все открытые файлы? У меня есть список подозрительных процессов, но если они не оказываются преступниками, инструкции, которые не полагаются на знание, которые обрабатывают для проверки, были бы полезны.
Можно использовать lsof для понимания, кто открывает столько файлов. Обычно это - (веб-) сервер, который открывает столько файлов, но lsof, конечно, поможет Вам определить причину.
, После того как Вы понимаете, кто плохой парень, Вы можете
, Если произведено от lsof является довольно огромной попыткой, перенаправляющей его в файл, и затем откройте Пример файла
(Вы могли бы иметь к Ctrl + C первая команда)
lsof > ~/Desktop/lsof.log
cat ~/Desktop/lsof.log | awk '{ print $2 " " $1; }' | sort -rn | uniq -c | sort -rn | head -20
vim ~/Desktop/lsof.log
В случае, если кому-либо еще нужен он...
ulimit -a
отобразит все ограничения по току. Конкретно ulimit -n 70000
установит предел дескриптора файла.
Также...
cat /proc/sys/fs/file-max
отобразит/установит предел ядра, если отредактировано.
sudo echo 200000 > /proc/sys/fs/file-max
А намного более подробное объяснение может быть найдено в...
, Как я увеличиваю открытый предел файлов для некорневого пользователя?