У меня есть 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
Приведенная выше команда выведет размер всех файлов (включая скрытые), а сортировка упорядочит их по размеру, чтобы вы могли их идентифицировать.