Не хватает места на диске в Linux

Не хватает места на диске в Linux

У меня есть Ubuntu-бокс с 30 ГБ дискового пространства, которое почти заполнено:

df -h

Filesystem      Size  Used Avail Use% Mounted on 
/dev/vda1        30G  28G     0  100% /

Но когда я проверяю размер всех корневых папок с помощью

sudo du -sh /foldername

Я получаю всего 17,2 ГБ

lib/        6.7G
usr/        4.8G
home/       2.0G
var/        1.3G
boot/       1.1G
swapfile    1.1G
root/       125M
sbin/       12M
bin/        11M
etc/        8M
run/        420K
lost+found/ 16K
media/      8.8K
dev/        4K
lib64/      4K
mnt/        4K
srv/        4K
opt/        4K
tmp/        4K
sys/        0
proc/       0

Ничего подозрительного? Около 11 гигабайт не учтены. Где могут быть пропавшие 11G?

решение1

Следуя совету сообщества Server Fault, я проверил размер своего блока:

stat --printf='%s' -f .

что было "нормально" на 4096

Затем я проверил, сколько удаленных файлов все еще открыты процессами:

lsof | grep -c DEL

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

Затем я перезагрузил свой ящик и вуаля! Все мое дисковое пространство вернулось:

df -h
Filesystem      Size  Used Avail Use% Mounted on
udev            487M  4.0K  487M   1% /dev
tmpfs           100M  388K  100M   1% /run
/dev/vda1        30G   17G   12G  61% /

Отражение

Тот факт, что я восстановил так много дискового пространства после перезагрузки, означает, что размер блока тома не был главным виновником. Так что я все еще не уверен на 100%, что вызвало расхождение, но я рад, что мое пространство вернулось!

решение2

Думаю, у вас могут быть какие-то большие скрытые файлы, которые отобразятся только если вы используете флаг -a:

du -ha /foldername | sort -hr

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

Связанный контент