du和df

发布时间:2023年12月28日

du 和df? 不一致的问题:

情况如下:

innode 没有满

同事求助, 他在删掉一个很大的文件后, 磁盘空间依旧没释放。上去一看, 果然 df 看到磁盘空间占用依旧是100%,等等 du 看了一把,磁盘空间剩余很大。?

? ? ? ?造成这个原因是因为进程依旧打开着删除的文件,而文件不存在与目录树中了,所有du统计的时候就不会统计就不会统计这个文件占用的空间了(而df 统计文件系统的总块数和剩余块数)

可以通过lsof查看具体是那个进程打开着这些被删除了的文件:
lsof | grep delete
果然,他删掉的是mysql的慢日志, mysql依旧打开着这个文件。
ext3 的FAQ里有提到这个问题
http://batleth.sapienti-sat.org/projects/FAQs/ext3-faq.html
?
另外,值得一提的是df和du的区别
du是统计的目录树上文件的大小, df命令则查看文件系统的磁盘分配情况并考虑Meta Data。df命令获得真正的文件系统数据,而du命令只查看文件系统的部分情况。例如,一个frag=4096 并且 nbpi=4096的空的大小为4MB的日志文件系统中Meta Data的分配情况如下:?
1 4k block for the LVM?

2 4k super blocks?
2 4k blocks for disk maps?
2 4k blocks for inode maps?
2 4k blocks for .indirect?
32 4k blocks for inodes?

文章来源:https://blog.csdn.net/ajax_beijing_java/article/details/135275058
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。