Как посмотреть количество места в разделе Linux
Комментарии (2)
Ответ сгенерирован нейросетью и может содержать ошибки
Проверка дискового пространства в Linux
Для анализа использования дискового пространства в Linux существует набор стандартных и мощных утилит. Выбор конкретной команды зависит от того, какую информацию вам нужно получить: общий объем, занятое пространство, использование индексных дескрипторов (inodes) или визуализацию структуры каталогов.
Основные команды: df и du
1. Команда df (Disk Filesystem)
Эта команда показывает общее, использованное и доступное пространство для всех смонтированных файловых систем.
- Базовый вызов (все файловые системы):
df
Вывод включает размеры в блоках (обычно по 1 КБ).
- Человеко-читаемый формат (
-h):
Самый частый и удобный вариант. Размеры отображаются в гигабайтах (G), мегабайтах (M) и т.д.
```bash
df -h
```
Пример вывода:
```
Filesystem Size Used Avail Use% Mounted on
/dev/sda1 20G 11G 7.8G 59% /
/dev/sdb1 100G 45G 55G 45% /data
tmpfs 3.9G 0 3.9G 0% /dev/shm
```
- Показать использование индексных дескрипторов (
-i):
Критически важный параметр для диагностики. Файловая система может быть заполнена не данными, а исчерпанием лимита на количество файлов (inodes).
```bash
df -i
df -ih # в человеко-читаемом формате
```
-
Показать тип файловой системы (
-T):df -Th -
Исключить временные файловые системы (
-x):
Полезно, чтобы убрать из вывода `tmpfs`, `devtmpfs`.
```bash
df -h -x tmpfs -x devtmpfs
```
2. Команда du (Disk Usage)
Эта команда оценивает использование пространства файлами и каталогами, начиная с текущей директории.
- Итог по текущему каталогу (
-s):du -sh /home/user/
* `-s` (summarize) — показать только итог для указанного пути.
* `-h` (human-readable) — вывести размер в удобном формате.
- Рекурсивный обход с сортировкой:
Частая задача — найти самые «тяжелые» подкаталоги.
```bash
du -h /var/log | sort -hr | head -20
```
Или с помощью `ncdu` (более интерактивно) или:
```bash
du -ah /path/to/dir | sort -rh | head -20
```
* `-a` — показывать и файлы, а не только каталоги.
Дополнительные и продвинутые инструменты
- Интерактивная утилита
ncdu(Ncurses Disk Usage):
Это must-have инструмент для любого администратора. Он предоставляет быстрый интерактивный анализ.
```bash
# Установка (например, для Ubuntu/Debian)
sudo apt install ncdu
# Запуск для сканирования каталога
ncdu /var
```
Позволяет навигацию по клавишам, удаление файлов прямо в интерфейсе.
- Мониторинг в реальном времени:
Для наблюдения за изменением размера каталога можно использовать `watch` в связке с `df` или `du`.
```bash
watch -n 5 'df -h /data'
```
Эта команда будет обновлять информацию о разделе `/data` каждые 5 секунд.
- Анализ через
lsblkиfdisk:
Эти команды показывают информацию о **блочных устройствах** и разделах на более низком уровне, до монтирования.
```bash
lsblk -f # Показать дерево устройств с файловыми системами и точками монтирования
sudo fdisk -l # Подробная информация о разделах всех дисков
```
Практический рабочий процесс при проблемах с местом
- Быстрая оценка (
df -h): Определите, какие файловые системы переполнены. - Проверка inodes (
df -ih): Убедитесь, что проблема именно в данных, а не в количестве файлов. - Поиск "виновника":
* Перейдите в точку монтирования переполненного раздела.
* Используйте `ncdu` или `du -h | sort -hr | head -20` для поиска самых больших каталогов.
- Анализ и очистка: Изучите найденные большие файлы (логи, кэш, временные файлы) и примите решение об их архивации или удалении.
Важные нюансы для DevOps-инженера
- LVM (Logical Volume Manager): Если система использует LVM, помимо
df, для управления пространством потребуются командыlvs,vgs,pvdisplayиlvresize. - Docker/контейнеры: Контейнеры могут создавать множество слоев и томов. Используйте
docker system dfдля анализа дискового пространства Docker, а также очищайте неиспользуемые ресурсы:docker system prune -a. - Автоматизация мониторинга: В production-среде информация о свободном месте должна собираться системами мониторинга (Prometheus с node_exporter, Zabbix и т.д.) для создания алертов при достижении критических порогов (например, 85% использования).
- Точность
duvsdf: Значенияdu(сумма размеров файлов) иdf(информация от файловой системы) могут незначительно расходиться из-за удаленных, но еще не закрытых файлов, журналирования (journal) или зарезервированного пространства (например, 5% в ext4 для root).
Таким образом, эффективное управление дисковым пространством в Linux — это комбинация знания базовых команд (df, du), использования продвинутых инструментов (ncdu) и интеграции проверок в процессы мониторинга и оркестрации инфраструктуры.