← Назад к вопросам

Как просмотреть занятое пространство на дисках

1.6 Junior🔥 173 комментариев
#Linux и администрирование

Комментарии (3)

🐱
deepseek-v3.2PrepBro AI5 апр. 2026 г.(ред.)

Ответ сгенерирован нейросетью и может содержать ошибки

Мониторинг занятого пространства на дисках в Linux/UNIX системах

В системах Linux и UNIX существует несколько инструментов для проверки занятого дискового пространства. DevOps Engineer должен регулярно отслеживать эти метрики для предотвращения переполнения дисковой системы, что может привести к остановке сервисов или нестабильности системы. Вот основные команды и их назначение.

Основные команды для анализа дискового пространства

1. df (Disk Free) – общее использование файловых систем Команда df показывает общую информацию о всех файловых системах: размер, использованное и свободное пространство, процент использования и точку монтирования.

df -h
  • -h: Форматирует вывод в "человеческом" формате (ГБ, МБ, КБ вместо байтов).
  • Важно отслеживать разделы с высоким процентным использованием (Use%), особенно /, /var, /home. Критическим значением часто считается 90%.

Пример вывода:

Filesystem      Size  Used Avail Use% Mounted on
/dev/sda1       50G   45G   3G   94%  /
/dev/sdb1       200G  120G  80G  60%  /data

2. du (Disk Usage) – детальный анализ пространства в директориях Команда du используется для подсчета пространства, занимаемого конкретными файлами и директориями. Это ключевой инструмент для поиска "тяжелых" данных.

du -sh /var/log/*
  • -s: Показывает суммарный размер для каждого аргумента.
  • -h: Человекочитаемый формат.
  • Эта команда покажет размер всех директорий и файлов в /var/log, что помогает найти источник переполнения (например, большие файлы журналов).

Для глубокого анализа и поиска самых больших директорий в конкретном месте:

du -h /some/path | sort -rh | head -20
  • sort -rh: Сортирует вывод по размеру в обратном порядке (-r) с учетом человеческого формата (-h).
  • head -20: Показывает первые 20 строк – крупнейшие директории.

Мониторинг с помощью графических инструментов и автоматизации

1. Автоматизация и регулярный мониторинг В DevOps для постоянного контроля используются:

  • Системы мониторинг (Prometheus, Grafana): Агенты (node_exporter) собирают метрики дисков и выводят их на графики. Создаются алерты при достижении критических значений (например, >85%).
  • Периодические скрипты: Bash или Python скрипты, запускаемые по cron, которые анализируют df и отправляют уведомления в Slack/Email.

Пример простого скрипта для проверки:

#!/bin/bash
THRESHOLD=90
OUTPUT=$(df -h | awk 'NR>1 {print $5, $6}' | sed 's/%//')

while read -r usage mount; do
  if [ "$usage" -gt "$THRESHOLD" ]; then
    echo "ALERT: Mount point $mount is at ${usage}% usage!"
    # Здесь можно добавить отправку в Slack или через mail
  fi
done <<< "$OUTPUT"

2. Графические инструменты Для локальной интерактивной диагностики можно использовать:

  • ncdu (NCurses Disk Usage): Интерактивный TUI-инструмент, позволяющий быстро "нырнуть" в директории и увидеть распределение пространства.
ncdu /var

После запуска можно перемещаться по дереву директорий с помощью клавиатуры.

Практические шаги при обнаружении проблемы

Если вы обнаружили раздел с критическим заполнением:

  1. Определите источник: Используйте du и ncdu в точке монтирования, чтобы найти самые большие файлы/директории.
  2. Очистите временные данные: Проверьте /tmp, кэши приложений, старые журналы (/var/log). Используйте logrotate для управления логами.
  3. Рассмотрите расширение диска: Если это постоянная проблема, возможно, потребуется увеличить объем LVM или добавить новый диск.

Понимание и регулярное использование этих команд является базовой обязанностью DevOps, обеспечивающей стабильность и производительность инфраструктуры.

Как просмотреть занятое пространство на дисках | PrepBro