Linux服务器清理

作者: Liuzjdev | 来源:发表于2018-09-14 10:21 被阅读10次

    Why?

    废话不多说直接来图,可以看出磁盘已经快要满了


    未清之前

    What?

    可以看出mnt文件夹占用的最大,然后进入mnt目录里通过命令,根据文件大小对该路径下文件排序

    du -h --max-depth=1

    我们服务器出现磁盘快满了的原因是因为,服务器部署了多个tomcat,然后tomcat系统日志忘记屏蔽了,时间一久,导致catalina.out记录的系统日志过多,然后文件就很大,最大的一个居然占了28G,找到了原因就解决吧

    How?

    当然是删除文件了,但是删除之后通过命令查看当前路径各文件大小

    du -sh *

    删除后

    发现已经小了很多了,但是奇怪的是,通过df命令查看,空间并未清理出来

    奇怪

    通过查资料发现一个文件在文件系统中的存放分为两个部分:数据部分和指针部分,指针位于文件系统的meta-data中,数据被删除后,这个指针就从meta-data中清除了,而数据部分存储在磁盘中,数据对应的指针从meta-data中清除后,文件数据部分占用的空间就可以被覆盖并写入新的内容,之所以出现删除access_log文件后,空间还没释放,就是因为httpd进程还在一直向这个文件写入内容,导致虽然删除了access_log文件,但文件对应的指针部分由于进程锁定,并未从meta-data中清除,而由于指针并未被删除,那么系统内核就认为文件并未被删除,因此通过df命令查询空间并未释放也就不足为奇了。

    最简单粗暴的解决办法就是重启,当然如果你知道那个进程占用着呢也可以重启指定进程,我们是tomcat占用,然后重启tomcat,问题就解决啦

    重启后

    谢谢观看,希望能帮到你

    相关文章

      网友评论

        本文标题:Linux服务器清理

        本文链接:https://www.haomeiwen.com/subject/oxnngftx.html