在我们日常工作中,服务器磁盘满了是一个常见的问题,那么我们如何有逻辑的有方法的去处理这件事儿呢?
首先当我们服务器磁盘满了我们一般想到到的就是把比较大的而且不重要的文件删除,从而释放空间,在此之前我们必须要明白一件事情,那就是一个文件被彻底删除需要满足的条件;
一是这个文件的硬链接数为0
二是进程占用数为0
好了废话不多说我们来看一看一个案例把!
可以看到我在向文件里边追加数据的时候告诉我没有可用的空间了这时候我们用df命令查看一下剩余的空间;
我们发现根空间的使用率已经是百分之百了,这时候我们使用du -sh 来查找一下根下边每个目录的占用情况
这时看到/var/这个目录已经非常大了,好了我们进到这个目录把大文件找出来
最后确定是secure这个日志文件过大引起的,这时候我们清空这个文件,注意日志文件不要使用rm直接删除,在清除前最好确认一下,文件还有没有用;
可以看到日志文件已经被我们清空了这时候我们使用df命令在查看空间是否被释放
这时候我们就发现空间被释放了;
有时候我我们在删除大文件后发现空间还是没有被释放,这种情况往往是因为被删除的大文件正在某个进程所占用,这时候我们可以通过lsof |grep "deleted"来查看是哪个进程占用了这个文件,然后把相应的服务重启一下就可了;当然可能还有其他的原因,就等小伙伴儿们发现,分享啦!
转载于:https://blog.51cto.com/13268236/2160329