Анализ дискового пространства: ncdu, du
При использовании сервера важно контролировать дисковую подсистему. Для приложений и файлов всегда должно оставаться свободное место.
Если место на диске закончится – при работе будут возникать ошибки, также могут повреждаться файлы и базы данных.
В случае нехватки свободного места – удаляйте ненужные файлы. При увеличении масштаба проектов или их количества Вы можете расширить диск или перейти на новый тариф.
Команды df, lsblk, parted, fdisk позволяют узнать объем дисков и количество свободного места. Для того чтобы определить, чем именно заняты диски, Вы можете воспользоваться утилитами du и ncdu.
Также при анализе дисковой подсистемы рекомендуется проверить inodes.
du
du (disk usage) есть во всех ОС семейства UNIX и не требует установки. Предоставляет общую информацию о занятом месте на дисковой подсистеме.
Также du может использоваться в тех случаях, когда на диске отсутствует свободное место для установки других утилит.
После выполнения команды Вы получите информацию о том, сколько места на диске занимает каждый файл и папка в текущем каталоге.
Основные ключи du
-h – вывод занятого места в удобных единицах измерения (Mb, Kb)
-s – вывод общего размера указанной папки
-c – вывод итоговых значений
Например, для оценки размера всех папок в корневом каталоге введем:
du -shc /*
-a – позволяет оценить занятое место на диске всеми файлами
-k – позволяет оценить использование диска деревом директории (в килобайтах)
--exclude – исключает из оценки использования диска файлы определенного формата. Например, если нужно убрать из вывода файлы формата jpeg:
du -ah --exclude="*. jpeg "
--time – отображает дату последнего изменения файлов.
Например, для того чтобы определить занимаемое файлами место и даты их последних изменений введите:
du -ah --time
ncdu
ncdu – одна из самых распространенных утилит для контроля дисковой подсистемы. Благодаря наличию псевдографического интерфейса с ней намного проще и удобнее работать.
Для установки ncdu введите:
| Debian, Ubuntu | apt install ncdu | 
| CentOS | yum install ncdu | 
Чтобы получить сведения об определенной папке введите:
ncdu имя_папки
Для анализа корневой папки:
ncdu /

Количество # показывает, какие файлы и папки занимают больше всего места.
Первый столбец может содержать такие обозначения:
| ! | ошибка чтения каталога | 
| . | ошибка чтения подкаталога | 
| < | не учитывается при подсчете | 
| > | из другой файловой системы | 
| @ | не является файлом или каталогом | 
| H | уже был учтен | 
| e | пустой каталог | 
Навигация в ncdu
| стрелка вверх, стрелка вниз | перемещение по каталогам | 
| Enter, стрелка вправо | вход в каталог | 
| стрелка влево | возврат в предыдущий каталог | 
Функции интерфейса в ncdu
| n | упорядочить по имени (по возрастания, по убыванию) | 
| s | упорядочить по размеру (по возрастания, по убыванию) | 
| g | изменение отображения (в процентах и в #) | 
| a | отображение реального размера или занимаемого пространства на диске | 
| e | показать/скрыть скрытые файлы и каталоги | 
| ? | вызов справки | 
| d | удаление (потребуется подтверждение) | 
| i | информация о выбранном элементе | 
| q | - выход | 
Используемые в ncdu ключи
-h - краткая справка
-q - обновление производится каждые 2 секунды (по умолчанию 10 раз в секунду).
-x - при сканировании учитываются только каталоги и файлы одной файловой системы. Примонтированные директории не учитываются.
-r - режим чтения, недоступно удаление
--exclude - исключение из учета файла или типа файлов. То есть файлы будут присутствовать в выводе, но не повлияют на подсчет занятого места.
ncdu --exclude=/путь/к/папке/*исключение*
Например, для исключения файлов с форматом jpeg введите:
ncdu --exclude=/путь/к/папке/*.jpeg
-о - сохранение результатов анализа в файл:
ncdu / -o путь/сохранения/файла.txt
Почему не соответствуют данные du, ncdu и ПО ?
1. Если в панели управления, а также при анализе дискового пространства утилитами du, ncdu показано, что есть свободное место, но приложения все равно сообщают о недостатке свободного места - проверьте inodes.
2. Если утилиты du и ncdu показывают меньший объем свободного места, чем в панели управления, либо приложения сообщают о недостатке свободного места даже после удаления файлов – проверьте файловую систему. Запустите команду df:
df -h
Скорее всего, в выводе команды будет информация о полной занятости диска. Утилиты du и ncdu показывают, сколько физически занято места на диске. Если файл после удаления доступен активному процессу – система учитывает его при подсчете.
1. Определите, какие процессы используют удаленные файлы:
lsof | grep '(deleted)'
2. Перезапустите эти процессы:
service имя_процесса restart
Если у Вас остались вопросы - создайте тикет в техподдержку.