当前位置: 代码网 > 科技>操作系统>Linux > linux下du和df命令已使用空间结果不一致的原因及处理办法

linux下du和df命令已使用空间结果不一致的原因及处理办法

2023年08月16日 Linux 我要评论
linux下du和df命令已使用空间结果不一致的原因及处理办法Linux df和du命令查出来的已使用空间不同如何解决?Linux系统使用的时候,竟然发现df和du查出来的结果不一样,du查出来的明显比df查出来的已使用空间要小很多,下面我们就来分析原因... 23-08-16

有用户登录到linux系统服务器上查看的时候,竟然发现df和du查出来的结果不一样,du查出来的“实际使用空间”明显比df查出来的已使用空间要小很多,这是究竟是怎么一回事呢?难道有些空间被隐藏起来了?下面来说一下df和du命令查出来的已使用空间不同的解决方法。

方法如下:

首先,我们用df来查看已使用空间:

从上图可知,根分区已使用5456700kb(合约5.20gb)。

然后,我们用du查出根分区下每个目录的大小:

排除红框中的两个目录(因为他们是挂载上去的),所有目录的总大小为3075332kb(合约2.93gb),比df查出来足足小了2.27gb。

为什么会少了这么多空间呢?

其实是因为我们之前删除了一些进程正在写入的文件,虽然已经被我们删除了,但只要进程还在,那个文件就不会被真正地删除,只是被临时存放到系统的某个地方而已,有点类似于windows的回收站。

想解决这个问题,最简单地就是重启服务器了,但是生产环境一般都不会轻易重启的,所以我们可以通过其他方式来解决。

先用lsof命令配合grep命令查出哪些是已经被删除,却依旧占用系统空间的“无赖”。

上图红框中的文件正是我之前删除的一个大文件,我现在尝试去重启这个程序(node),我直接kill掉这个进程,因为我做了自动启动,所以我不用手动去启动它。

已使用空间一下子下降到3226324kb(合约3.08gb),已经很接近du统计的总空间了。

接下来,我逐个重启了其他deleted的文件,最终df查出来的大小就和du统计的总空间差不多大了。

到此,就解决了df和du查出来的结果不同的文件,赶走了系统里的“无赖”,索回属于我们的空间。

df和du命令查出来的已使用空间不同的解决方法就说到这里了,如你们也有此问题的可以按照上述的步骤去操作,从而解决问题,希望大家喜欢,请继续关注代码网。

(0)

相关文章:

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论

验证码:
Copyright © 2017-2025  代码网 保留所有权利. 粤ICP备2024248653号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com