Задать вопрос
Все статьи / VDS / Диагностика и исправление неполадок / Анализ дискового пространства
Найти результаты:
Период:
с:
 
по:
Помощь в поиске

Помощь в поиске

apple banana
Найти записи, которые содержат хотя бы одно из двух слов.

+apple +juice
Найти записи, которые содержат оба слова.

+apple macintosh
Найти записи, которые содержат слово 'apple', но положение записей выше, если они также содержат 'macintosh'.

+apple -macintosh
Найти записи, которые содержат слово 'apple', но не 'macintosh'.

+apple ~macintosh
Найти записи, которые содержат слово 'apple', но если запись также содержит слово 'macintosh', rate it lower than if row does not. Это более "мягкий" чем поиск '+apple -macintosh', для которого наличие 'macintosh' вызывает что записи не будут возвращены вовсе.

+apple +(>turnover <strudel)
Найти записи, которые содержат слова 'apple' и 'turnover', или 'apple' и 'strudel' (в любом порядке), но ранг 'apple turnover' выше чем 'apple strudel'.

apple*
Найти записи, которые содержат такие слова как 'apple', 'apples', 'applesauce', или 'applet'.

"some words"
Найти записи, которые содержат точную фразу 'some words' (например записи содержащие 'some words of wisdom', но не "some noise words").

Анализ дискового пространства

При работе с сервером важно контролировать занятый объем на диске. Когда дисковая квота заканчивается, в работе VDS возникают ошибки: ошибка 502, удаление файлов при их редактировании, повреждение базы данных. Исправить ошибки можно удалением ненужных файлов или переходом на следующий тариф — то есть увеличением доступной квоты.

Утилиты ncdu и du помогут проверить, чем занято дисковое пространство на сервере.

Ncdu

Утилита ncdu имеет псевдографический интерфейс, что значительно упрощает работу с ней.

Ncdu не предустановлена в дистрибутивах Unix по умолчанию, но ее можно установить командой:

apt install ncdu

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

ncdu имя_каталога

Например, чтобы вывести информацию о корневом каталоге, выполняется:

ncdu /

Формат вывода

Количество символов "#" помогает определить, какие файлы и каталоги занимают больше всего места.

Крайний левый столбец может содержать дополнительные обозначения (например, на скриншоте выше - пометки e):

  • ! - ошибка при чтении каталога
  • . - ошибка при чтении подкаталога, т.е. указанный размер может быть некорректным;
  • < - объект исключен из подсчета (с помощью опции --exclude);
  • > - объект из другой файловой системы;
  • @ - объект не является файлом или каталогом (символическая ссылка, сокет);
  • H - объект уже был учтен (жесткая ссылка);
  • e - пустой каталог.

Навигация

Для перемещения по директориям используются клавиши со стрелками (вверх и вниз).

  • Стрелка вправо или Enter - войти в выбранную директорию.
  • Стрелка влево - вернуться в предыдущую директорию.

Доступные функции интерфейса

С помощью клавиш можно управлять полученным выводом:

  • n - упорядочить элементы по имени (в прямом и обратном порядке);
  • s - упорядочить элементы по размеру (в прямом и обратном порядке);
  • g - переключение между отображением "графика" (####) и объёма в процентах:

  • a - переключение между отображением реального размера файлов и объемом занимаемого пространства на диске;
  • e - скрыть/показать скрытые файлы и папки;
  • ? - вызвать краткую справку;
  • d - удалить выбранный элемент (перед удалением будет запрошено подтверждение действия);
  • i - вывести информацию о выбранном элементе:

​​​​​​​

  • q - выйти.

Используемые ключи

При запуске утилиты можно использовать дополнительные ключи для ncdu:

  • -h (т.е. команда вида ncdu -h) - вывод краткой справки;
  • -q - "тихий режим", с обновлением данных каждые 2 секунды. По умолчанию обновление выполняется 10 раз в течение секунды. Тихий режим позволяет снизить объем передачи данных при удаленных подключениях;
  • -x - учет при сканировании только файлов и директорий одной и той же файловой системы. Например, если есть директория /home/user/site.com, и пространство с файлами и директориями внутри нее примонтировано из директории на другом диске (/mnt/disk2/site.com), то по умолчанию ncdu посчитает, что директория /home/user/site.com занимает пространство на основном диске, хотя на самом деле - на диске disk2. Использование ключа -x позволит отразить действительное положение дел на основном диске.
  • -r - режим "только для чтения", в данном режиме невозможно удаление файлов;
  • --exclude - исключение файла или типа файлов. Ncdu отобразит эти файлы в общем списке, но не будет учитывать их при подсчете занятого пространства:
ncdu --exclude=/путь/к/каталогу/*что_исключаем*

#Например:
ncdu --exclude=/home/user/*.html*

  • - сохранить результаты в файл:
ncdu / -o путь/к/файлу.txt

Du

Утилита du (от англ. disk usage) присутствует во всех UNIX-дистрибутивах по умолчанию и позволяет получить общую информацию о занятом месте.

Команда выводит объем пространства, занимаемого каждым файлом и каталогом в текущем каталоге:

Используемые ключи

Для вывода занятого объема в читаемом виде (в килобайтах, мегабайтах и т.д.) требуется ключ -h, он будет использоваться во всех командах ниже.

  • Например, можно начать с оценки размера всех директорий в корневой файловой системе. Для этого добавляются ключи -s (для вывода итогового размера указанной директории) и -c (для вывода "итого"):
du -shc /*

  • Способ подсчета и сортировки:
du -sch ./*|sort -hr

  • Чтобы узнать размер конкретной директории, используется ключ -s и указывается путь к нужной директории:
du -sh /путь/к/директории

  • Для вывода размера всех файлов и подкаталогов в каталоге используется ключ -a.
du -ah /путь/к/директории

  • Для вывода суммарного объема всех показанных в выводе элементов используется ключ -c:
du -ch /путь/к/директории

  • Можно использовать опцию --exclude, чтобы исключить из вывода конкретный тип файлов.
du -ah --exclude="*что_исключаем*"

# Например:
du -ah --exclude="*.php*"

  • Еще одна полезная опция - вывод времени последнего изменения файла. Для этого используется --time:
du -ah --time /путь/к/директории

Предыдущая статья
Диагностика и исправление неполадок
Следующая статья
Базовая диагностика при ошибках в работе сайта