接触客户多了,发现经常有客户遇到du看到系统只使用了一部分磁盘空间,但df看时磁盘空间已经满了,或者差异较大,我遇到过三次不一样的原因,下面做一下总结,恶补一下!也希望对大家有点帮助!

现象:有客户反馈有二台主机du和df看到磁盘空间使用不一致

原因:客户在挂载数据盘到/data目录之前,曾挂载过系统盘到/data测试并把系统盘空间写满

解决:发现重复挂载之后,先卸载数据盘,现在只有系统盘挂载到/data目录,然后删除/data下内容,重新挂载数据盘到/data目录即可

总结:

1.du是根据看到文件的大小来统计磁盘空间的使用情况,即所见即所得,du -sh /  或者 du -sh /*

df是根据元数据获取的,就是读取分区的超级块信息来统计分区的的使用情况的(比du看到的记过更准确), df -hT

2.du和df不一致的几种情况分析

1)可能由于删除了正在使用中的文件,导致文件被删除,但进程和超级块信息并没有释放。

解决:lsof |grep -i delete 过滤下是否有相关进程未释放,kill掉相关进程即可。

删除这种正在写入的文件(一般都是日志类的),最后用“echo > 文件名“解决。

2)可能某些目录被其他磁盘重复挂载导致。

解决:1)可以先用df -hT 看下相关挂载目录。2)用mount |grep 目录  过滤一下是否有重复挂载,也可以mount -o remount 一下fstab文件。

3)可能预留空间较多导致,df统计的时候会把系统预留的空间也给 算上是使用的了。

查看:tune2fs -l 设备名 查看系统的超级块信息,看看预留多少空间。也可以用tune2fs命令更改。

4)也有可能是空洞文件导致的

du和df显示磁盘空间使用差异大的几种情况的更多相关文章

  1. df说磁盘空间满了, du说没有,到底谁是对的

           同事求助, 他在删掉一个很大的文件后, 磁盘空间依旧没释放.上去一看, 果然 df 看到磁盘空间占用依旧是100%,等等 du 看了一把,磁盘空间剩余很大. 造成这个原因是因为进程依旧打 ...

  2. Linux中du、df显示不一致问题

    Linux中du.df显示不一致问题 最近在做关于Q博士的项目的时候,用到了docker进行部署,对于后端服务可能会经常变动,于是将docker容器的jar包与宿主机目录下的jar包进行绑定,之后每次 ...

  3. 46-df 显示磁盘空间的使用情况

    显示磁盘空间的使用情况 df [options] [filesystem-list] 参数 当不带任何参数调用df时,用户将获得本地系统上每个挂载设备的空闲空间 filesystem-list是一个或 ...

  4. Linux文件删除,但是df之后磁盘空间没有释放

    Linux 磁盘空间总是报警,查到到大文件,删除之后,df看到磁盘空间并没有释放. 查找了下发现系统对rm进行了alias   ,因为Linux对删除操作没有回收站机制,对rm操作进行了自定义,对删除 ...

  5. linux 删除文件后 df 查看磁盘空间并没有释放

    1.错误现象 Linux 磁盘空间总是报警,查到到大文件,删除之后,df看到磁盘空间并没有释放. 用du -sh ./* | sort -nr (查看当前目录下文件的大小)通过查找了下发现文件被mys ...

  6. du与df为什么有时候会有差异

    以下仅为本人理解,非官方! du命令:统计父目录的目录项,若目录项存在,则进行查找 df命令:统计inode节点,根据inode节点存储的块大小进行统计 差异原因: 当一个文件被进程调用后,复制文件到 ...

  7. Linux 命令 - df: 报告磁盘空间的占用情况

    df 命令列出指定的文件名所在的文件系统上可用磁盘空间的数量. 如果没有指定文件名,则显示当前所有使用中的文件系统.默认情况下,磁盘空间以 1K 为一块显示,如果设置了环境变量 POSIXLY_COR ...

  8. Linux,du、df统计磁盘情况不一致

    转载:http://blog.linezing.com/?p=2136 在运维Linux服务器时,会碰到需要查看硬盘空间的情况,这时候,通常会使用df -lh命令来检查每个挂载了文件系统的硬盘的总量和 ...

  9. du命令解决linux磁盘空间满的问题(很不错的哦)

    首先你要确定是不是真正的是因为数据空间占满磁盘,经常是因为某个程序的日志占满了空间.当发现磁盘满了以后不要着急,使用以下命令从根目录开始排除查找哪个文件夹最大: du --max-depth=1 找到 ...

随机推荐

  1. 通过Excel认识POI

    1.POI是什么 Apache POI - the Java API for Microsoft Documents,顾名思义,Apache的三方包,用来操作微软office文档的,多数时候用来操作e ...

  2. SQL三类语句

    1. DDL (Data Definition Language, 数据定义语言) CREATE: 创建数据库和表等对象 DROP: 删除数据库和表等对象 ALTER: 修改数据库和表等对象的结构 2 ...

  3. 在JavaScript中使用json.js:Ajax项目之GET请求(同步)

    1.用php编写一个提供数据的响应程序(phpdata.php) <?php $arr=array(1,2,3,4); //将数组编码为JSON格式的数据 $jsonarr=json_encod ...

  4. 最长回文 hdu3068(神代码)

    最长回文 Time Limit: 4000/2000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submis ...

  5. hdu3018欧拉回路题

    Ant Trip Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total S ...

  6. Codeforces Round #309 (Div. 2)D

    C. Kyoya and Colored Balls time limit per test 2 seconds memory limit per test 256 megabytes input s ...

  7. [C语言]贪吃蛇_结构数组实现

    一.设计思路 蛇身本质上就是个结构数组,数组里存储了坐标x.y的值,再通过一个循环把它打印出来,蛇的移动则是不断地刷新重新打印.所以撞墙.咬到自己只是数组x.y值的简单比较. 二.用上的知识点 结构数 ...

  8. 微信小程序的跨平台图表库开发

    写在前面 微信小程序出来已经有一段时间了,github上也有很多人开源了很多项目.但是由于微信平台的限制(底层Canvas能力调用为一系列JSBridge封装),图表的制作一直是个比较头疼的问题.当前 ...

  9. DNS—正、反向解析;委派;主从;子域;转发;智能dns等的实现

    前言:DNS,耳熟能详的东西,内容太多,小编也不太好讲清,只能写几个实验详解,供大家参考. 一.简单介绍 1.DNS:通过主机名,最终得到该主机名对应的IP地址的过程叫做域名解析(或主机名解析). 端 ...

  10. ZOJ2286 Sum of Divisors 筛选式打表

    我想我是和Segmentation Fault有仇,我一直以为是空间开大的问题,然后一直减少空间,还是SF,谁让n没有给范围了,qwq. 教训:以后注意输入范围和开的空间大小. #include< ...