接触客户多了,发现经常有客户遇到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. POJ-2299 Ultra-QuickSort (树状数组,离散化,C++)

    Problem Description In this problem, you have to analyze a particular sorting algorithm. The algorit ...

  2. Vue.js项目模板搭建

    前言 从今年(2017年)年初起,我们团队开始引入「Vue.js」开发移动端的产品.作为团队的领头人,我的首要任务就是设计 整体的架构 .一个良好的架构必定是具备丰富的开发经验后才能搭建出来的.虽然我 ...

  3. Ajax【介绍、入门、解决Ajax中文、跨域、缓存】

    什么是Ajax Ajax(Asynchronous JavaScript and XML) 异步JavaScript和XML Ajax实际上是下面这几种技术的融合: (1)XHTML和CSS的基于标准 ...

  4. Qt 打开文件的默认路径 QFileDialog::getOpenFileName()

    为了说明QFileDialog::getOpenFileName()函数的用法,还是先把函数签名放在这里:   QString QFileDialog::getOpenFileName (       ...

  5. H264常见术语名称

    一.术语 帧(frame)和场(field):一帧包含一个亮度矩阵采样点和俩个对应的色度矩阵采样点,一帧包含俩个场:顶场和底场: 条带:特定条带组按光栅扫描顺序排列的整数个宏块或宏块对: 条带组:图像 ...

  6. sqlserver 缩小表空间

    1. 保留需要的数据之新表中->TRUNCATE原表数据->还原之前保留的数据之原表中->压缩表空间 脚本类似如下 SELECT * INTO #keep FROM Original ...

  7. VNC实现Windows远程访问Ubuntu 16.04(无需安装第三方桌面)

    本文主要是讲解如果理由VNC实现Windows远程访问Ubuntu 16.04,其实网上有很多类似教程,但是很多需要安装第三方桌面(xfce桌面等等),而且很多人不太喜欢安装第三方桌面,很多人像笔者一 ...

  8. java spark-streaming接收TCP/Kafka数据

    本文将展示 1.如何使用spark-streaming接入TCP数据并进行过滤: 2.如何使用spark-streaming接入TCP数据并进行wordcount: 内容如下: 1.使用maven,先 ...

  9. Javascript从“繁”到“简”进行数组去重

    随着JavaScript提供语法的增多,数组去重方式也越来越多.现在从最原始的方式到最简洁的方式,一步步进行剖析. 双重循环 数组去重,不就是比较数组元素,去掉重复出现的么.最原始的方式不正是双重循环 ...

  10. 【学习】如何制作手机端html模板(REM的实际应用)

    以前制作手机页面时,总是很迷茫,不知从何着手,页面也不知如何处理.会用一些百分比啊,媒体查询啊,还有就是目测了,但是各种手机端的屏幕适配是个老大难的问题,没有做到百分百兼容的.自从发现了rem这个好东 ...