Как администратору своего хоста, нам доступны три основных ресурса нашего сервера — процессор, память и дисковое пространство. И если при нехватке первых двух, ваш сайт хоть как-то, с задержками сможет обработать часть запросов, то при полном отсутствии свободного места, он просто перестанет работать.
Как сервисам обслуживающим сайт, в нашем случае это стек LEMP, так и самому сайту требуется свободное место для нормальной работы. Обычно, за пороговое значение берут 10% свободного дискового пространства. Если на вашем хосте осталось меньше 10%, то стоит разобраться, что занимает место, и либо почистить диск, либо увеличить его объем.
Для того чтобы узнать доступное дисковое пространство на своем Linux сервере, используйте утилиту df — название команды буквально представляет собой аббревиатуру от disk free.
Наберем команду в консоли:
[root@waky ~]# df
Filesystem 1K-blocks Used Available Use% Mounted on
devtmpfs 4096 0 4096 0% /dev
tmpfs 391836 0 391836 0% /dev/shm
tmpfs 156736 14696 142040 10% /run
/dev/vda3 4180672 3494004 686668 84% /
/dev/vda2 498900 303188 159016 66% /boot
tmpfs 78364 0 78364 0% /run/user/0
Мы получили вывод по всем разделам смонтированным в системе. Показаны следующие столбцы:
Filesystem — файловая система установленная для раздела, либо название диска
1K-blocks — количество килобайтовых блоков в разделе
Used — количество использованных блоков
Available — количество свободных блоков
Use% — процентное соотношение использованных блоков к их общему количеству
Mounted on — директория в которую смонтирован раздел
Если использовать с командой дополнительный параметр -h вывод примет более привычный вид:
[root@waky ~]# df -h
Filesystem Size Used Avail Use% Mounted on
devtmpfs 4.0M 0 4.0M 0% /dev
tmpfs 383M 0 383M 0% /dev/shm
tmpfs 154M 15M 139M 10% /run
/dev/vda3 4.0G 3.4G 671M 84% /
/dev/vda2 488M 297M 156M 66% /boot
tmpfs 77M 0 77M 0% /run/user/0
Теперь вместо блоков отображается размер раздела в мегабайтах и гигабайтах.
Нетипичная ситуация, но все же возможная, когда заканчиваются свободные иноды (inode индексный дескриптор). В таком случае нельзя создать новые файлы, даже если для них есть свободное дисковое пространство.
Проверить наличие свободных инод поможет параметр -i:
[root@waky ~]# df -i
Filesystem Inodes IUsed IFree IUse% Mounted on
devtmpfs 92902 369 92533 1% /dev
tmpfs 97959 1 97958 1% /dev/shm
tmpfs 819200 558 818642 1% /run
/dev/vda3 1453408 77955 1375453 6% /
/dev/vda2 32768 376 32392 2% /boot
tmpfs 19591 15 19576 1% /run/user/0
Видим, что со свободными инодами все в порядке, потребуется чрезмерное количество файлов и директорий, чтобы занять все свободные иноды.
Хоть во всех выводах и присутствует столбец Filesystem, он не дает представления об использованной файловой системе в случае дисков. Для того чтобы отдельным столбцом вывести тип файловой системы служит параметр -T:
[root@waky ~]# df -hT
Filesystem Type Size Used Avail Use% Mounted on
devtmpfs devtmpfs 4.0M 0 4.0M 0% /dev
tmpfs tmpfs 383M 0 383M 0% /dev/shm
tmpfs tmpfs 154M 15M 139M 10% /run
/dev/vda3 xfs 4.0G 3.4G 671M 84% /
/dev/vda2 ext4 488M 297M 156M 66% /boot
tmpfs tmpfs 77M 0 77M 0% /run/user/0
К выводу добавился столбец Type содержащий информацию об файловой системе раздела.
Если вам нужно вывести все присутствующие разделы, доступные и недоступные используйте параметр -a:
[root@waky ~]# df -aT
Filesystem Type 1K-blocks Used Available Use% Mounted on
proc proc 0 0 0 - /proc
sysfs sysfs 0 0 0 - /sys
devtmpfs devtmpfs 4096 0 4096 0% /dev
securityfs securityfs 0 0 0 - /sys/kernel/security
tmpfs tmpfs 391836 0 391836 0% /dev/shm
devpts devpts 0 0 0 - /dev/pts
tmpfs tmpfs 156736 14696 142040 10% /run
cgroup2 cgroup2 0 0 0 - /sys/fs/cgroup
pstore pstore 0 0 0 - /sys/fs/pstore
bpf bpf 0 0 0 - /sys/fs/bpf
/dev/vda3 xfs 4180672 3493976 686696 84% /
systemd-1 - - - - - /proc/sys/fs/binfmt_misc
hugetlbfs hugetlbfs 0 0 0 - /dev/hugepages
mqueue mqueue 0 0 0 - /dev/mqueue
debugfs debugfs 0 0 0 - /sys/kernel/debug
tracefs tracefs 0 0 0 - /sys/kernel/tracing
fusectl fusectl 0 0 0 - /sys/fs/fuse/connections
configfs configfs 0 0 0 - /sys/kernel/config
none ramfs 0 0 0 - /run/credentials/systemd-sysctl.service
none ramfs 0 0 0 - /run/credentials/systemd-tmpfiles-setup-dev.service
/dev/vda2 ext4 498900 303188 159016 66% /boot
none ramfs 0 0 0 - /run/credentials/systemd-tmpfiles-setup.service
tmpfs tmpfs 78364 0 78364 0% /run/user/0
binfmt_misc binfmt_misc 0 0 0 - /proc/sys/fs/binfmt_misc
tracefs tracefs 0 0 0 - /sys/kernel/debug/tracing
Команда df поможет вам отслеживать доступное место на вашем Linux сервере, а дополнительные параметры сделают вывод более информативным.