记一次排查linux空间满的问题
执行命令
df -lh显示信息
文件系统              容量  已用 可用 已用% 挂载点
/dev/sda1             9.9G  9.5G     0 100% /
udev                  2.0G   64K  2.0G   1% /dev
/dev/sda3             5.9G  4.5G  1.2G  81% /usr/local
/dev/sda4             178G   150G   28G  84% /data通过命令du -h --max-depth=1找到占用大的目录,删除无用文件。
重新查看磁盘使用情况,显示如下。
文件系统              容量  已用 可用 已用% 挂载点
/dev/sda1             9.9G  9.5G     0 100% /
udev                  2.0G   64K  2.0G   1% /dev
/dev/sda3             5.9G  4.5G  1.2G  81% /usr/local
/dev/sda4             178G   97G   73G  58% /data可以看到/dev/sda4目录的空间释放了,但是/dev/sda1仍然提示100%已用。
晚上吃饭的时候跟同事说了这个事,他说可能是有进程一直在写,虽然删了,但是空间不释放。
执行命令
lsof | grep deleted显示结果
tail       6017 user_00    4r      REG                8,1  761278464     267179 /tmp/proxy-access_log (deleted)
tail       6017 user_00    5r      REG                8,1 4247490560     267176 /tmp/proxy-error_log (deleted)这两个文件我已经删掉了,这里可以看到是有进程还在往里写。
杀掉对应的进程
kill -9 6017再看磁盘使用情况
df -lh结果如下
文件系统              容量  已用 可用 已用% 挂载点
/dev/sda1             9.9G  4.8G  4.6G  52% /
udev                  2.0G   64K  2.0G   1% /dev
/dev/sda3             5.9G  4.5G  1.2G  81% /usr/local
/dev/sda4             178G   97G   73G  58% /data空间终于释放了。