Недостаточно места на корневом диске Ubuntu, я не могу найти источник через du или lsof

10

В корневом диске на машине с Ubuntu 15.10 почти не осталось места, но я не могу найти его источник. Накопитель, на котором не sdb2хватает места , 313M из 51G доступно. Файловая система есть ext4.

Вот sudo du -h / --max-depth=1вывод:

Filesystem      Size  Used Avail Use% Mounted on
udev            3.9G     0  3.9G   0% /dev
tmpfs           789M  9.4M  780M   2% /run
/dev/sdb2        51G   48G  313M 100% /
tmpfs           3.9G   12K  3.9G   1% /dev/shm
tmpfs           5.0M  4.0K  5.0M   1% /run/lock
tmpfs           3.9G     0  3.9G   0% /sys/fs/cgroup
/dev/sdb1       511M  3.4M  508M   1% /boot/efi
tmpfs           789M  8.0K  789M   1% /run/user/1000
/dev/sda1       239G  122M  239G   1% /media/DATA

Но я не могу найти большие файлы. Общее использование в, /кажется, только 3,4 г. Вот выход из sudo du -h / --max-depth=1:

4.0K    /mnt
188K    /tmp
406M    /home
339M    /var
8.1M    /etc
361M    /lib
du: cannot access ‘/proc/7626/task/7626/fd/4’: No such file or directory
du: cannot access ‘/proc/7626/task/7626/fdinfo/4’: No such file or directory
du: cannot access ‘/proc/7626/fd/3’: No such file or directory
du: cannot access ‘/proc/7626/fdinfo/3’: No such file or directory
0    /proc
13M    /bin
du: cannot access ‘/run/user/1000/gvfs’: Permission denied
9.4M    /run
1.6M    /root
4.0K    /lib64
16K    /lost+found
0    /sys
1.1M    /media
12K    /dev
222M    /opt
2.0G    /usr
62M    /boot
9.5M    /sbin
4.0K    /cdrom
8.0K    /srv
3.4G    /

Я нашел подобный вопрос здесь: Недостаточно места на диске, каков источник?

В этом случае похоже, что проблема была вызвана удаленным журналом, который каким-то образом не был закрыт запущенным процессом, и способ найти его - запустить sudo lsof | grep deleted. В моем случае вывод

lsof: WARNING: can't stat() fuse.gvfsd-fuse file system /run/user/1000/gvfs
      Output information may be incomplete.

Кроме того, проблема сохраняется после перезагрузки системы, поэтому вряд ли это является причиной.

Другое предлагаемое решение - размонтировать /var/lib/ureadahead/debugfs, но я не решаюсь это сделать.

Что еще может быть не так?

biggvsdiccvs
источник
сделать перезагрузку. Есть некоторые удаленные, но заблокированные файлы.
Ипор Сирсер
Я попробовал это, но ничего не изменилось.
biggvsdiccvs
1
Проверьте файловую систему на наличие ошибок и обновите до поддерживаемой версии Ubuntu.
Майкл Хэмптон
6
просто запустите "du -sh *", когда вы находитесь в корневой папке. Не используйте --max-глубина флага
Сироты
1
@ Orphans выглядит так, как будто я не видел *"
прижатого

Ответы:

21

Ну, это только предположение, но оно может сработать: я думаю, что пользователь однажды забыл смонтировать /dev/sda1как /media/DATAи все данные были записаны /dev/sdb2вместо /dev/sda1.

Чтобы проверить это, пожалуйста, размонтируйте /media/DATAи проверьте файлы и папки по этому пути.

Федор Дикарев
источник
Спасибо, вот что это было! За исключением того, что я думаю, что это могло быть плохое соединение с диском, а не кто-то забыл смонтировать что-либо Вся эта установка ненадежна, и я не уверен, как этот диск монтируется /media/DATA- его нет /etc/fstab.
biggvsdiccvs
Если вы не хотите размонтировать файловую систему (например, если вы не хотите завершать процессы, которые ее используют), вы можете использовать bind mount для просмотра (и удаления) файлов, скрытых монтированием.
Джонни
7

Я регулярно использую 'ncdu' для этого, он достаточно мал, чтобы по-прежнему устанавливать его.

sudo apt-get install ncdu

Просто убедитесь, что вы запускаете его как root или через sudo:

sudo ncdu /
Рой Джейкобс
источник
1
Не помогло бы в этом случае все же.
Джеральд Шнайдер
2

Если вы хотите узнать, где используется пространство в конкретной файловой системе, вы можете использовать эту команду, чтобы найти 20 самых больших каталогов, которые могут помочь вам найти место, где используется больше всего места,

du -m / |sort -n |tail -20

Но корневая файловая система сложнее, потому что все файловые системы смонтированы в корневой. Но аргумент -x (--one-file-system) сообщит только о желаемой файловой системе,

du -m -x / |sort -n |tail -20
ChuckCottrill
источник
1
df -h *.* 

Может помочь.

Обход каталогов и суммирование используемых байтов.

steJav
источник