zoukankan      html  css  js  c++  java
  • linux系统df和du命令的区别

    发现一台用户的电脑,df检查出来的/磁盘空间占用了16G,比用du查看得到的磁盘空间大的多,du查看/下所有程序目录加起来还不到5G。这是什么原因呢?

    即便是有隐藏文件,查了也很小啊。
     
    因为df和du的统计机制不一样。
    du会把指定目录下所有文件、目录、目录下的文件都统计。是建立在文件系统能看到的的确确是有这样一些文件的基础上的。也就是说我们能在文件系统里面看到的文件才会被du统计。
     
    df(df命令通过查看文件系统磁盘块分配图得出总块数与剩余块数。):
    这要从程序写文件的方式来谈起,一个进程要向一个文件里面写东西,那么会得到一个pointer,
    然后向指针指向的文件(磁盘区域)写入。假如由于某些原因(也可能人为)被指向的文件被删除了,但是( write call)并不知道文件是否还在,就还会继续向里面写,不管文件是否存在,磁盘块还是被写操作使用。
    于是因为文件没有了,所以du统计不到写入的这些磁盘块,但是因为写的进程还在,磁盘空间没有被释放,所以df却能统计到,所以df统计的结果比du大很多。
    如何解决呢?
    1.停止系统上的程序。
    2.如果还是不行,unmount一下文件系统看看
    3.重启系统
  • 相关阅读:
    算是鼓励自己吧
    那些年,我们一起追过的梦想
    敢问路在何方?
    关于红黑树旋转算法的一点说明
    存一下
    shell脚本变量
    ubuntukylin
    如何在批处理作业进行DEBUG
    IBM AS/400 应用系统开发的软件工程工具分析
    AS/400开发经验点滴(六)如何制作下拉菜单
  • 原文地址:https://www.cnblogs.com/jxhd1/p/6700272.html
Copyright © 2011-2022 走看看