На устройстве нет свободного места
Когда я попытался скопировать некоторые файлы на станцию centos, я получаю сообщение об ошибке "Нет свободного места на устройстве"
Я пробовал
[[email protected]]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/VolGroup00-LogVol01 18G 18G 0 100% /
И когда я делаю
du -sh /
→ он дает только 5G
[... ~]$ df -i /
Filesystem Inodes IUsed IFree IUse% Mounted on
/dev/mapper/VolGroup00-LogVol01
4685824 209516 4476308 5% /
похоже, что файловая система заполнена.
Как я могу найти, какой из них занимает такой размер?
Ответы
Ответ 1
Такая разница между выводами du -sh
и df -h
может произойти, если какой-то большой файл был удален, но все же открыт некоторым процессом. Проверьте с помощью команды lsof | grep deleted
, чтобы узнать, какие процессы открыли дескрипторы для удаленных файлов. Вы можете перезапустить процесс, и пространство будет освобождено.
Ответ 2
Возможно, вы из-под инодов. Попробуйте df -i
2591792 136322 2455470 6% /home
/dev/sdb1 1887488 1887488 0 100% /data
Для диска используется 6%, но таблица inode заполнена.
Ответ 3
Чтобы просмотреть процессы, в которых хранятся удаленные файлы, используется система linux с no lsof
, здесь мой трюк:
pushd /proc ; for i in [1-9]* ; do ls -l $i/fd | grep "(deleted)" && (echo -n "used by: " ; ps -p $i | grep -v PID ; echo ) ; done ; popd
Ответ 4
Вы можете выполнить следующие команды
lsof/| grep deleted
убейте идентификатор процесса, освободив место на диске.