人生如顾戏如人生 發表於 2023-8-16 16:36:57

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

<p>有用户登录到Linux系统服务器上查看的时候,竟然发现df和du查出来的结果不一样,du查出来的&ldquo;实际使用空间&rdquo;明显比df查出来的已使用空间要小很多,这是究竟是怎么一回事呢?难道有些空间被隐藏起来了?下面来说一下df和du命令查出来的已使用空间不同的解决方法。</p>
<p>方法如下:</p>
<p>首先,我们用df来查看已使用空间:</p>
<p style="text-align:center"><img alt="" src="https://img.jbzj.com/file_images/article/202308/20230816163207151.jpg" /></p>
<p>从上图可知,根分区已使用5456700KB(合约5.20GB)。</p>
<p>然后,我们用du查出根分区下每个目录的大小:</p>
<p style="text-align:center"><img alt="" src="https://img.jbzj.com/file_images/article/202308/20230816163207152.jpg" /></p>
<p>排除红框中的两个目录(因为他们是挂载上去的),所有目录的总大小为3075332KB(合约2.93GB),比df查出来足足小了2.27GB。</p>
<h3>为什么会少了这么多空间呢?</h3>
<p><strong>其实是因为我们之前删除了一些进程正在写入的文件</strong>,虽然已经被我们删除了,但只要进程还在,那个文件就不会被真正地删除,只是被临时存放到系统的某个地方而已,有点类似于Windows的回收站。</p>
<p>想解决这个问题,<strong>最简单地就是重启服务器了,</strong>但是生产环境一般都不会轻易重启的,所以我们可以通过其他方式来解决。</p>
<p>先用lsof命令配合grep命令查出哪些是已经被删除,却依旧占用系统空间的&ldquo;无赖&rdquo;。</p>
<p style="text-align:center"><img alt="" src="https://img.jbzj.com/file_images/article/202308/20230816163207153.jpg" /></p>
<p>上图红框中的文件正是我之前删除的一个大文件,我现在尝试去重启这个程序(node),我直接kill掉这个进程,因为我做了自动启动,所以我不用手动去启动它。</p>
<p style="text-align:center"><img alt="" src="https://img.jbzj.com/file_images/article/202308/20230816163207154.jpg" /></p>
<p>已使用空间一下子下降到3226324KB(合约3.08GB),已经很接近du统计的总空间了。</p>
<p>接下来,我逐个重启了其他deleted的文件,最终df查出来的大小就和du统计的总空间差不多大了。</p>
<p>到此,就解决了df和du查出来的结果不同的文件,赶走了系统里的&ldquo;无赖&rdquo;,索回属于我们的空间。</p>
<p>df和du命令查出来的已使用空间不同的解决方法就说到这里了,如你们也有此问题的可以按照上述的步骤去操作,从而解决问题,希望大家喜欢,请继续关注琼殿技术社区。</p>
<p><strong>相关推荐:</strong></p>
<p><a href="https://www.jb51.net/LINUXjishu/883040.html" target="_blank">linux/ubuntu系统怎么安装百度网盘? linux百度网盘安装图文教程</a></p>
頁: [1]
查看完整版本: linux下du和df命令已使用空间结果不一致的原因及处理办法