前言
工作中经常遇到Linux系统磁盘空间不足,但是删除后较大的日志文件后,发现磁盘空间仍没有被释放,有点摸不着头脑,今天博主带大家解决这个问题。
思路
1、工作发现磁盘空间不足;
2、找到占用磁盘空间较大的文件进行删除;
3、删除文件后,查看磁盘空间使用情况,未释放;
4、找到相应delete进程,杀掉即可,问题解决。
具体操作
查看服务器磁盘空间使用情况
df -h /
du -sh ./*
如何释放此类空间
解决这一类问题释放空间的方法有很多种:重启占用的进程、重启操作系统、通过命令。非生产环境采用前两种方式最方便了,但是对于生产环境,还是尽量采用命令的方式,其实命令也很简单:
可以通过lsof命令获取已经删除但是还被程序占用的文件列表:
lsof | grep delete
kill -9 pid
lsof | grep -w deleted | awk ‘{print $2}’ | xargs kill
实际生产就遇到过日志已经被删除半个月了但是磁盘空间没有被释放,通过lsof | grep delete 命名查出进程被vector日志搜集挂起来了,重启vector磁盘空间恢复正常