У меня есть несколько серверов, мощность которых приближается к емкости, но я не могу найти, где используется пространство? Когда я бегу:
[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)
$
Если вы обнаружите, что удаленные файлы занимают большую часть вашего пространства, вероятно, потребуется перезапустить вызывающий нарушение процесс, который держит дескрипторы файлов открытыми.