巧用lsof查找消失的空间

Publish: January 18, 2019 Category: Shell No Comments

    今天遇到个奇怪的事情,使用df -h命令的时候,发现var满了,190G全满了。

[root@xxxxxx]# df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/sda1              16G  635M   15G   5% /
tmpfs                  16G     0   16G   0% /dev/shm
/dev/sda7             570G  154G  387G  29% /data1
/dev/sda6              16G  173M   15G   2% /tmp
/dev/sda5              20G  6.1G   13G  33% /usr
/dev/sda3             197G   15G  173G   8% /var

然后使用 du -sh 去查var下面哪个目录,发现var只用了15G,找不到使用者,如下

[root@xxxxxx]# du -sh /var/*
4.0K    /var/account
141M    /var/cache
93M     /var/cfengine
4.0K    /var/crash
4.0K    /var/cvs
104K    /var/db
8.0K    /var/empty
4.0K    /var/games
95M     /var/lib
4.0K    /var/local
16K     /var/lock
15G     /var/log
20K     /var/lost+found

[root@xxxxxx]# du -sh /var/
15G     /var/

奇怪了吧,最后刚上查了下,发现可能有文件已经删除,但进程还在使用,就使用如下命令

[root@xxxxxx]# lsof |grep deleted
php         525     root    5uW     REG                8,3          0    9365330 /var/tmp/sqlite_hrggjoghXxuVeNw (deleted)
php         525     root    8u      REG                8,3         20    9365331 /var/tmp/sqlite_hrggjoghXxuVeNw-journal (deleted)
crond      2008     root    3u      REG                8,3          5    3767505 /var/run/crond.pid (deleted)
python    30172     root   10u      REG                8,6       4096         21 /tmp/ffi6zRKh3 (deleted)
python    30175     root   10u      REG                8,6       4096         22 /tmp/ffie68Mj3 (deleted)

最后杀掉进程即可~。




Tags: lsof, deleted,

Related Posts:

Leave a Comment