расследование
Как освободить место на переполненном сервере Linux
Если на вашем сервере Linux закончилось место, вот быстрый и эффективный способ найти и устранить проблему.
1. Проверка использования диска
Сначала проверьте, какая файловая система переполнена:
1 | df -h |
Если подозреваете, что закончились inodes (много мелких файлов):
1 | df -i |
2. Поиск самых больших директорий
Определите, какие папки занимают больше всего места:
1 | sudo du -h -d 1 -x / 2>/dev/null | sort -hr | head -20 |
-x— сканирует только основную файловую систему.- Для интерактивного просмотра используйте
ncdu:
1 | sudo apt install ncdu |
3. Удаление ненужных больших файлов
Ищите необычно большие файлы, особенно в /usr/local, /var или /home. Часто это статические библиотеки (.a) или старые артефакты сборки. Если нашли ненужное — удаляйте:
1 | sudo rm /путь/к/большому/файлу |
4. Исправление «фантомного» использования диска
Если df показывает больше занятого места, чем du, возможно, есть удалённые, но всё ещё открытые процессами файлы. Найдите их так:
1 | sudo lsof +L1 2>/dev/null | awk 'NR==1 || $7+0 > 10000000' |
Перезапустите процесс, который держит файл (например, Docker):
1 | sudo systemctl restart docker |
5. Профилактика (ротация логов Docker)
Логи Docker могут незаметно заполнить диск. Настройте ротацию логов в /etc/docker/daemon.json:
1 | { |
Перезапустите Docker:
1 | sudo systemctl restart docker |
Пересоздайте контейнеры, чтобы применить новую политику.
Быстрые команды для очистки
1 | docker system df |
Этот вариант убирает личные истории и фокусируется на практических шагах, чтобы использовать статью как универсальное руководство.