/ VAR файловая система быстро заполняется
/ VAR файловая система быстро заполняется. Даже использование инодов достигает 100%. Мы должны регулярно очищать журналы. Мы не можем ssh также из-за этого. В конце концов, мы сделали жесткую перезагрузку. Мы не можем определить точную причину для того же. Пожалуйста, помогите нам в пин-код, указывающий точную причину и решение проблемы.
2 ответа
/var
это место, где большая часть данных хранится приложениями. Это включает в себя файлы журналов, библиотеки или даже двоичные данные для приложений, таких как MySQL или MongoDB.
Что касается вашей проблемы, так как вы часто упоминали об очистке журналов, вам необходимо следить за тем, что пишет в /var/log
большинство и установить соответствующую политику logrotate для того же.
Чтобы найти топ-10 каталогов (внутри /var
) по использованию диска:
sudo du -h /var | sort -hr | head -n10
Чтобы найти 10 лучших файлов (внутри /var/log
) по использованию диска
sudo find /var/log -maxdepth 2 ! -path . -printf "%s %p\n" | sort -rn -k1 | head
Какой размер диска доступен для машины?
Как часто это становится полным?
Каков вывод двух вышеуказанных команд?
Прежде всего, труба на head -n10
только распечатает первые 10 записей каталога в /var
, Если у вас более 10 каталогов, о них не сообщается. Во-вторых, du -h
это не совсем лучший инструмент для использования здесь, так как он сообщает о дублированном размещении, потому что о дочерних каталогах сообщают.
Попробуйте вместо этого, чтобы получить лучшее представление о распределении всех каталогов первого уровня под /var
:
# find /var -maxdepth 1 -type d -exec du -smh '{}' \;
21G /var
18G /var/lib
4.0K /var/local
384K /var/www
86M /var/cache
3.3G /var/log
12K /var/mail
16K /var/lost+found
7.8M /var/backups
840K /var/spool
4.0K /var/tmp
4.0K /var/opt
Если вам необходимо перейти к одному из этих верхних уровней, чтобы сообщить о распределении по родительскому элементу, просто добавьте подкаталог в исходную команду. Я легко вижу elasticsearch
виновник 18G распределения в /var
в моей системе:
# find /var/lib -maxdepth 1 -type d -exec du -smh '{}' \;
18G /var/lib
...
8.0K /var/lib/vim
18G /var/lib/elasticsearch
@fpmurphy предлагает yum
каталог может быть связан с вашей проблемой. Чтобы экстраполировать это всякий раз, когда вы работаете с yum
все пакеты, которые загружаются для обновления системы, сохраняются в /var/cache/yum
по умолчанию. Вы можете проверить содержимое файла /etc/yum.conf
и проверить на keepcache
установка. То, что вы публикуете, предполагает, что keepcache
имеет значение 1
,
Если /var/cache/yum
действительно заполняется, вы можете запуститьyum clean all
исправить вещи сейчас. Существует доказательство того, что эта команда может работать не так, как было объявлено, поэтому примите во внимание. Я бы предложил выделить больше места для /var
если возможно.