linux下du和df命令已使用空间结果不一致的原因及处理办法
有用户登录到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查出来的结果不同的文件,赶走了系统里的“无赖”,索回属于我们的空间。
您可能感兴趣的文章
- 08-12linux下du和df命令已使用空间结果不一致的原因及处理办法
- 08-12Linux调整Swap空间大小的扩容分区技巧
- 08-12Linux(KDE)使用Network Settings设置静态ip详细教程
- 08-12Linux用户态切换内核态方式详解
- 08-12服务器运维必不可少的几款SSH远程客户端工具
- 08-12Linux和Windows系统怎么选 Linux与Windows系的区别介绍
- 08-12linux系统如何查看磁盘空间 电脑磁盘空间的查询方法
- 08-12deepin任务栏不显示怎么办deepin任务栏消失不见的解决办法
- 08-12如何在linux中创建新用户? 在Linux中创建新用户命令的使用方法
- 08-12在Linux中如何卸载软件? 掌握强制卸载软件的技巧


阅读排行
- 1linux下du和df命令已使用空间结果不一致的原因及处理办法
- 2Linux调整Swap空间大小的扩容分区技巧
- 3Linux(KDE)使用Network Settings设置静态ip详细教程
- 4Linux用户态切换内核态方式详解
- 5服务器运维必不可少的几款SSH远程客户端工具
- 6Linux和Windows系统怎么选 Linux与Windows系的区别介绍
- 7linux系统如何查看磁盘空间 电脑磁盘空间的查询方法
- 8deepin任务栏不显示怎么办deepin任务栏消失不见的解决办法
- 9如何在linux中创建新用户? 在Linux中创建新用户命令的使用方法
- 10在Linux中如何卸载软件? 掌握强制卸载软件的技巧
推荐教程
- 08-12Linux调整Swap空间大小的扩容分区技巧
- 08-12在Linux中如何卸载软件? 掌握强制卸载软件的技巧
- 08-12Linux(KDE)使用Network Settings设置静态ip详细教程
- 08-12如何在linux中创建新用户? 在Linux中创建新用户命令的使用方法
- 08-12Linux用户态切换内核态方式详解
- 08-12deepin任务栏不显示怎么办deepin任务栏消失不见的解决办法
- 08-12linux下du和df命令已使用空间结果不一致的原因及处理办法
- 08-12服务器运维必不可少的几款SSH远程客户端工具
- 08-12linux系统如何查看磁盘空间 电脑磁盘空间的查询方法
- 08-12Linux和Windows系统怎么选 Linux与Windows系的区别介绍