При использовании сервера важно контролировать дисковую подсистему. Для приложений и файлов всегда должно оставаться свободное место.
Если место на диске закончится – при работе будут возникать ошибки, также могут повреждаться файлы и базы данных.
В случае нехватки свободного места – удаляйте ненужные файлы. При увеличении масштаба проектов или их количества Вы можете расширить диск или перейти на новый тариф.
Команды 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
Если у Вас остались вопросы - создайте тикет в техподдержку.