记一次排查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
空间终于释放了。