du与df为什么有时候会有差异

以下仅为本人理解,非官方!

 

du命令:统计父目录的目录项,若目录项存在,则进行查找

df命令:统计inode节点,根据inode节点存储的块大小进行统计

 

差异原因:

当一个文件被进程调用后,复制文件到内存一份,同时文件inode节点+1,但文件此时被删除时,文件对应的目录项被删除,但是其inode节点因没有归0,故无法删除,同时inode map也无法归0,则对应的磁盘空间无法被再次申请.

所以df此时认为文件还存在,而du认为文件已经不存在了

posted @ 2014-01-07 09:04  星空刺  阅读(198)  评论(0编辑  收藏  举报