Linux磁盘找不到占用文件(df占用过高,du占用过少)

用df -h检查发现磁盘占用过高,但是用du -ah --max-depth=1 ./ 或者 du -sh *|sort|head发现各目录占用空间很小

可能存在的原因:有些文件已经被删除,而进程还活着,用lsof命令查看那些删除了但是还被某些应用打开着句柄的文件

lsof |grep delete

用kill命令删除查询出的进程

Linux中,`df`命令用于显示文件系统的磁盘使用情况,它汇总了所有挂载点的信息,包括系统分区、文件系统总大小、已使用的空间以及可用的空间比例。如果你看到`df`报告某个分区的使用率接近90%,但是通过`du`(递归地统计目录下文件的大小)单独检查该分区下的具体内容时无法到大量占用空间的文件,这可能是由于以下几个原因: 1. **隐藏的大文件**:`du`默认不会跟踪系统文件,如日志文件、索引文件等。如果大型文件系统包含许多这样的系统文件,它们可能会占据大部分类似未被察觉的空间。 2. **目录结构**:大量的小文件分散在很多个目录下,`du`可能因为单次扫描文件数量限制而错过某些细节。你可以尝试加上`-h`选项查看更友好的人类可读格式,或者使用`du -s *`查总和大的目录。 3. **间接映射**:对于像EXT4或XFS这样的文件系统,文件系统会利用间接块和元数据存储空间,这可能导致实际占用空间大于物理文件大小。 4. **交换分区**:有时候,虚拟内存交换空间也被计入`df`的总使用量,即使这部分不是直接由用户文件占用的。 如果你怀疑有误报,可以试试下面的操作来寻潜在的大文件: ```sh # 查看当前目录及其子目录的总大小 du -sh . # 如果需要出最大的几个文件或目录 du -hsx * | sort -hr | head -n 5 # 或者查特定类型的文件,例如.log文件 find . -type f -name "*.log" -exec du -sh {} \; | sort -rh ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值