Использование файловой системы Ubuntu Server

1

df говорит, что моя файловая система / dev / sda1 почти заполнена:

Filesystem           1K-blocks      Used Available Use% Mounted on
/dev/sda1              8256952   7616516    221008  98% /
none                   3803676       116   3803560   1% /dev
none                   3942504         0   3942504   0% /dev/shm
none                   3942504        64   3942440   1% /var/run
none                   3942504         0   3942504   0% /var/lock
none                   3942504         0   3942504   0% /lib/init/rw
/dev/sdb             433455904    203016 411234584   1% /mnt
/dev/sdf             104806400   9539884  95266516  10% /vol

Но я не понимаю, что занимает так много места. Когда я бегу ncdu / Я получил:

    2.0GiB  /usr                                                                                                                                                 
    1.2GiB  /var
  256.9MiB  /root
  132.4MiB  /lib
   24.4MiB  /boot
   24.3MiB  /home
   12.9MiB  /tmp
    7.8MiB  /bin
    7.5MiB  /sbin
    6.5MiB  /etc
e  16.0kiB  /lost+found
e   4.0kiB  /media
e   4.0kiB  /opt
e   4.0kiB  /selinux
e   4.0kiB  /srv
>   0.0  B  /dev
>   0.0  B  /mnt
>   0.0  B  /proc
>   0.0  B  /sys
>   0.0  B  /vol
@   0.0  B   initrd.img
@   0.0  B   initrd.img.old
@   0.0  B   vmlinuz
@   0.0  B   vmlinuz.old
@   0.0  B   lib64

Я там что-то скучаю? Куда ушел мой космос?

Blacksad
источник
Большой файл в каталоге /? Также вы запускаете ncdu от имени пользователя root? Вставьте большой файл в каталог, к которому у пользователя, работающего с ncdu, нет доступа к списку, и ncdu не сможет его найти.
ewanm89

Ответы:

3

Наиболее вероятным виновником является удаленный файл (или файлы), которые все еще открыты процессом. du учитывает только использование дискового пространства в дереве каталогов, которое вы передаете, и поскольку файл больше не находится в дереве каталогов, он не учитывается. df с другой стороны, учитывает использование файловой системы, которая включает дескрипторы открытых файлов. Чтобы проверить запущенные процессы с открытыми файловыми дескрипторами для удаленных файлов, используйте:

lsof | grep "deleted"

Убейте или перезапустите все такие процессы, которые вы обнаружите (используйте PID во втором столбце), и это должно решить проблему.

Garrett
источник
он использует ncdu, а не du, хотя, вероятно, делает то же самое.
ewanm89
Выглядит просто регулярно du с оберткой ncurses.
Garrett
не совсем, он сортирует по умолчанию (du не имеет сортировки), кэширует, так что вы можете спуститься в каталог, чтобы просмотреть самый большой и самый маленький там. Это больше похоже на консольную / терминальную версию kdirstat / Firelight / Baobab (анализатор использования дисков в gnome) / windirstat без нарисованного симпатичного графического представления карты.
ewanm89
Все остальное, что вы заявили, верно в том смысле, что оно работает так же, как и du, с точки зрения того, какие файлы находятся в файловой системе.
ewanm89
@Garrett Спасибо, вы сделали мой день, сэр! У Apache были открытые файловые дескрипторы для многих, многих удаленных файлов журнала ... отсюда и проблема. Решено!
Blacksad