linux df磁盘使用量同实际使用量不符

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了linux df磁盘使用量同实际使用量不符相关的知识,希望对你有一定的参考价值。

参考技术A 问题: df -h 显示根目录已经使用95%, 无法创建新的大文件。但是运行du -sh /, 显示根目录只使用了20G。根目录实际大小为850G

可能的原因:

Linux磁盘占用率与使用率不符

一、概述

一块磁盘50G挂在到/data目录下
df -h显示磁盘使用率已经达到90%、
去/data目录下执行du -sh显示10G
磁盘占用率和使用率不符

二、解决

在Linux上删除一个进程正在写入的文件的时候,虽然已经被我们删除了,但是只要进程还在,那个文件就不会真正被删除,只是被临时存放
到系统的某个地方,有点类似于Windows的回收站。通过lsof可以查看没有被真正删除的文件
lsof|grep delete
可以使用kill -9 将第二列进程号删除,对应的磁盘空间进行就会释放
将查询出来的redis相关的进程号kill以后,磁盘空间得到释放

在window系统上,如果想删除一个正在被进程使用的文件,系统会阻止删除操作。Linux也同理,不过Linux在删除时不会报错,会假装的让你
看到以为删除了,但文件被进程依然关联着并在写入,磁盘占用也还在。但通过du -h 扫不出来。所以无论在什么系统,不要尝试删除一个正
在被进程使用的文件


以上是关于linux df磁盘使用量同实际使用量不符的主要内容,如果未能解决你的问题,请参考以下文章

linux 磁盘删除文件后无法释放空间

分区磁盘使用率与实际不符(巨大)

[linux]df 磁盘100%Used告警,du显示目录状态良好的故障排查

Linux磁盘管理

linux中查看硬盘分区信息的命令是啥?

Linux或Ubuntu中查看磁盘空间大小的10个df命令