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

Поиск используемого места на CentOS

У меня есть несколько серверов, мощность которых приближается к емкости, но я не могу найти, где используется пространство? Когда я бегу:

[root@server /]# df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/mapper/VolGroup-lv_root
                       40G   38G   76M 100% /
tmpfs                 929M     0  929M   0% /dev/shm
/dev/sda1             485M   32M  428M   7% /boot

Я вижу, что / mount заполняется, поэтому я запускаю:

[root@server /]# sudo ls | xargs du -hs
5.8M    bin
22M     boot
192K    dev
25M     etc
36K     home
122M    lib
19M     lib64
16K     lost+found
4.0K    media
4.0K    mnt
4.0K    opt
0       proc
124K    root
14M     sbin
0       selinux
4.0K    srv
0       sys
54M     tmp
749M    usr
61M     var

и не видит никаких реальных каталогов, которые занимают кучу места. Самый большой из них - / usr на 749 млн.

Может кто-нибудь подсказать, как я могу узнать, где все это пространство пережевано? Спасибо.

Часто подобное происходит из-за того, что какой-то процесс сохраняет открытыми дескрипторы удаленных (несвязанных) файлов. Если это так, вы можете найти их, используя lsof, например:

$ sudo lsof +L1
COMMAND PID USER   FD   TYPE DEVICE SIZE/OFF NLINK    NODE NAME
tuned   869 root    7u   REG  202,1     4096     0 4194380 /tmp/ffiGemRJt (deleted)
$

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