Категории: LinuxОСи

Как проверить, что занимает место в Unix/Linux системе на примере CentOS

Чаще всего логи, которые пишутся на диск демоном журналирования, занимают больше всего места (несколько гигибайт за месяц). Но это не всегда так, и всегда лучше проверить, что именно занимает больше всего места.

В Debian-подобных системах есть чудесная программа — ncdu (также могу порекомендовать gt5), но ее необходимо еще поставить, что невозможно, когда место уже закончилось. Поэтому мы будем пользоваться системными средствами.

Для начала убедимся, что место действительно закончилось. Запустим команду df (disk free)

df -h

Скорее всего, она покажет, что файловая систем, смонтированная в корень, занимает 100% места. Что ж, это полезно, но не говорит нам, что именно потребляет большую часть места. Для этого воспользуемся второй командой du (disk usage):

du -hc --max-depth=4 /var | sort -h

На данном примере она покажет, сколько места занимают файлы и подпапки в папке /var. дело в том, чт логи чаще всего хранятся в /var/log, поэтому именно этот путь мы и изучаем в первую очередь. Причем. мы указали, что она должна анализировать использование места с глубиной до 4 уровней вложения. Результат вы сортируем так, что самые большие файлы и папки оказываются в конце списка. Ключ -h выводит размер в удобочитаемом виде. Ключ -c добавляет общий размер запрошенной папки в конце (total).

Чтобы получить общий размер той или иной папки, используйте ключ -sh.

Напоминаю, что для автоматического удаления и сжатия старых логов вы можете использовать демон logrotate.d. Файлы его конфигурации вы можете добавить в папку /etc/logrotate.d/.

Также рекомендую проверить, сколько занимают места ваши текущие логи (не архивированные). Это можно сделать командой:

journalctl --disk-usage

Ограничить размер логов в будущем можно так:

journalctl --vacuum-size=1G

Важный момент: вы можете заметить, что в CentOS даже после удаления файлов, дисковое пространство не сильно освобождается. Это связано с тем, что какой-то процесс держит эти файлы. Более того, вы удаленные не увидите в отчете утилит du и ncdu. Чтобы это выяснить, запустите команду:

lsof | grep deleted

Вы увидимте список всех удаленных удерживаемых файлов с пометкой (deleted) справа. Найдите самый большой их них. В левой колонке вы обнаружите процесс, который его удерживает. Попроуйте перезапустить процесс или же убить его через команду kill.

Вывод команды LSOF

В моем случае перезапуск сервиса xl2tpd решает проблему с этим лог файлом.

[Посещений: 652, из них сегодня: 1]

Свежие посты

Расширение Wi-Fi сети на примере Mikrotik

Существует несколько способов расширить зону покрытия Wi-Fi сетей: использовать усилители Wi-Fi сигнала (репитеры), настроить WDS…

22 июля 2025

Замена аккумуляторов в ноутбуках

Заменять аккумулятор в ноутбуках необходимо, когда он перестает удерживать заряд достаточное время или же когда…

16 июля 2025

Проблема с обнаружением Wi-Fi сетей Mikrotik

Проблема: в роутере Mikrotik настроены Wi-Fi 6 сети на частоте 2.4 и 5 ГГц, они…

14 июля 2025

Апгрейд и замена SSD диска в MacBook: тонкости

Апгрейд и замена диска в Макбук практически всегда возможны, но в зависимости от поколения ноутбука…

11 июля 2025

Увеличение памяти компьютера: как выбрать китайскую память

Апгрейд памяти в компьютере дело не такое уж и сложное: выбрать совместимую планку и установить…

11 июля 2025

Как проапгрейдить WiFi и Bluetooth в ноутбуке: полное руководство

В этой статье мы озадачились апгрейдом Wi-Fi и Bluetooth в ноутбуке. Казалось бы, процедура не…

10 июля 2025