Назад | Перейти на главную страницу

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

На корневом диске на машине 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, но я не решаюсь это сделать.

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

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

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

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

sudo apt-get install ncdu

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

sudo ncdu /

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

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

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

du -m -x / |sort -n |tail -20
df -h *.* 

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

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