zoukankan      html  css  js  c++  java
  • root目录占用大量空间

    今天看了一下测试服务器,突然发现根目录已使用100%了,赶紧检查了一下。

     

     查看了隐藏文件,找到了。

    进入.vnc目录是一个日志文件占用了空间,将其删除,另外将/home中的一个安装文件也删除了。奇怪的是空间却没有释放,

    以前看到过用文件句柄恢复误删的oracle数据文件的案例, 还是要理解Linux下文件系统的原理。文件系统中分为两个部分:数据和指针,指针位于文件系统的meta-data中,数据被删除后,这个指针就从meta-data中清除了,而数据部分存储在磁盘中,数据对应的指针从meta-data中清除后,文件数据部分占用的空间就可以被覆盖并写入新的内容,如果进程仍然一直在读写这个文件,就可能由于进程锁定导致指针未从metadata中清除,系统就认为此文件未被删除。

    接下来执行  lsof | grep deleted 有进程在使用刚才删除的文件

    现在有两种方式处理,1、kill 进程释放文件句柄;2、将/root/.vnc/racdb1:1.log 拷贝回去,然后将其清空 echo ‘’>/root/.vnc/racdb1:1.log。

    最开始处理的太简单,不应该删除,发现是VNC的日志文件就应该用清空的方式处理的,在实际的这种方式可保障进程继续向文件写入日志,不会对应用产生影响。

    现在用第二种方式处理

     

     

     空间还是没有释放。将当前文件句柄清空,应该会释放空间。

    lsof
    command PID USER FD type DEVICE SIZE NODE NAME

    lsof输出各列信息的意义如下:

    COMMAND:进程的名称
    PID:进程标识符
    PPID:父进程标识符(需要指定-R参数)
    USER:进程所有者
    PGID:进程所属组
    FD:文件描述符,应用程序通过文件描述符识别该文件。

  • 相关阅读:
    几道关于this的经典练习题的理解与分析
    对this的理解与总结
    内存机制及内存泄漏相关总结
    css3-伪元素与伪类
    css3-目标伪类选择器:target的应用
    react学习资料
    angular2学习视频
    vue学习资料
    gulp 入门---使用gulp压缩图片
    gulp 入门---使用gulp压缩css
  • 原文地址:https://www.cnblogs.com/historynote/p/12992190.html
Copyright © 2011-2022 走看看