Файлы могут быть скрыты точкой монтирования.
(Запланированная программа (резервное копирование) должна была выполняться, пока вспомогательный том был отключен для обслуживания, и я радостно воссоздал его структуру каталогов, а не вышел из строя.)
df
сообщает 16G раздел на 100%. du
на root сообщает о 1G в файлах. Куда делось все мое дисковое пространство?
Файлы могут быть скрыты точкой монтирования.
(Запланированная программа (резервное копирование) должна была выполняться, пока вспомогательный том был отключен для обслуживания, и я радостно воссоздал его структуру каталогов, а не вышел из строя.)
В дополнение к неэффективному использованию пространства, которое обсуждает Дуг, некоторые файловые системы имеют ограниченное количество inode (уникальных идентификаторов файлов), и после их создания невозможно создавать новые файлы. Используйте, df -i
чтобы увидеть, где вы находитесь на Inode.
Кроме того, ext[23]
файловые системы (и другие?) Могут зарезервировать часть диска для суперпользователя. Обычно это всего лишь несколько процентов (5 типично для более старых систем), но его можно установить намного выше, чем это. Я считаю, что вы хотите использовать tune2fs
здесь (Mac OS и, возможно, другие Unixes называют это tunefs
) с -m
опцией.
Возможно, у вас запущены программы со старыми несвязанными файлами. Эти файлы сохраняются на диске до тех пор, пока эти программы не закроются, но не будут связаны с деревом файловой системы.
Обратите внимание, что это отличается от поведения Windows, которое не позволит вам удалить такой файл.
У вас есть большое количество очень маленьких файлов? Linux (и большинство операционных систем) записывают файлы в виде блоков размером (например, 4 КБ), и каждый файл использует кратное этого размера. Например, если у вас есть 121-байтовый файл, на диске все еще используются 4096 байт. Остальная часть пространства в этом блоке по существу "потрачена впустую".
I had this exact same problem. I had an issue where my primary boot disk was filling up after I performed a sync of backup drives.
>rsync -avxHAXW /media/backup1 /media/backup2
After this sync my primary disk was full.... which baffled me. It turns out I was accidentally copying files to my boot disk, not my backup2. I corrected the mistake, deleted the massive file on my primary disk and reran rsync. Even after unmounting and remounting my backup disks my boot disk was out of space. I even tried cleaning up large files on my boot disk....
>find . -type f -print0 | xargs -0 du -s | sort -n | tail -25 | cut -f2 | xargs -I{} du -sh {}
Deleted any large files that were no longer necessary. I also made sure to empty the trash.
>empty-trash
After all of that work... disk still full. I decided to reboot the machine. After the reboot, my boot disk partition went from 100% full to 10% full! It appears the rsync process must have continued to run in the background holding onto disk resources. I hate giving this advice, but after doing all of the disk cleanup you might just need to reboot your machine to kill off any background processes that are hanging onto data, preventing disk from truly being freed.