Linux:df与du查看磁盘占用空间数据不一致的原因及解决方法

这篇具有很好参考价值的文章主要介绍了Linux:df与du查看磁盘占用空间数据不一致的原因及解决方法。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

一、原因分析

二、解决方法

三、其它问题


      使用du -sh 和df -h 查看某一个目录占用的磁盘空间,有时会发现结果相差非常大,下面我们对这个问题详细说明一下。

一、原因分析

      导致出现这种情况的主要原因是一部分进程访问的文件被删除了。

      首先,需要先了解一下rm删除文件的原理:
      使用rm命令删除文件时,只有当该文件不存在任何link才会真正被删除,当有进程访问这个文件时,虽然通过命令查不到这个文件了,但这个文件的实际占用空间并没有被释放。

du和df的区别如下:

du:根据文件名进行的空间统计,使用rm时该文件对系统来说已经不可见,所以不会统计这个文件。
df:是磁盘实际占用的数量

二、解决方法

首先,查看已删除但是未释放空间的文件:

lsof | grep deleted

通过查询结果的前2列,可以看到访问这些文件进程名和进程编号

然后,重启这些进程,或kill掉这些进程,这些文件占用的磁盘空间就真正释放了。

三、其它问题

但也存在暂时不能停止这些进程的情况。比如,这些进程由于业务需要7*24不间断对外提供服务。

此时,如果磁盘空间已经满了,可以考虑先把这些文件清空

1、先查找出这些文件的句柄编号

ls -l /proc/<pid>/fd/*  | grep <文件名>

2、使用句柄编号清空文件

echo > /proc/<pid>/fd/<FD_NUM>

FD_NUM为上一步查找出的文件句柄编号,一般为数字

以上只是临时解决方案,实际最终还是需要将进程重启一下。

参考文档

linux 查找被删除但是未被释放空间的文件并释放资源
Linux不杀进程清理 lsof中deleted 状态的文件文章来源地址https://www.toymoban.com/news/detail-841666.html

到了这里,关于Linux:df与du查看磁盘占用空间数据不一致的原因及解决方法的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Linux 清理磁盘空间&使用du指令排查服务器磁盘占用过大的文件

    命令:df -h 参数说明: -a:列出所有的文件系统,包括系统特有的/proc等文件系统 -k:以KB的容器显示各文件系统 -m:以MB的容量显示各文件系统 -h:以人们较易阅读的GB,MB,KB等格式自行显示 -H:以 M=1000K代替M=1024K的进位方式 -T:连同该分区的文件系统名称(例如ext3)也列出

    2024年02月06日
    浏览(42)
  • 查看磁盘信息命令和查看目录以及文件占用空间大小命令

    记录 :313 场景 :在CentOS 7.9操作系统,查看磁盘信息命令、查看目录以及文件占用空间大小命令。主要是df、du、lsblk、fdisk、parted、pvdisplay、vgdisplay、lvdisplay、free等命令。 版本: 操作系统:CentOS 7.9 1.df命令 查看文件系统占用磁盘空间大小。df,disk free简称。 (1)查看帮助 命

    2024年02月07日
    浏览(35)
  • linux:du和df区别

    du 和 df 都是 Linux 系统中用于查看磁盘空间使用情况的命令,但它们的功能和用法有所不同。 du 是 “disk usage” 的缩写,用于显示文件或目录的磁盘使用情况。 du 命令用于查看指定文件或目录的磁盘空间使用情况,可以递归地查看目录下所有文件和子目录的大小。 详细用法

    2024年04月09日
    浏览(31)
  • Linux查看磁盘占用情况

    磁盘占用指的是已使用的磁盘空间大小,以及空闲的磁盘空间大小。 磁盘占用大小可以使用du、df命令查看,其中,du命令用于查看指定目录的磁盘空间占用情况,而df命令则可查看整个磁盘的占用情况。 查看指定目录的磁盘空间占用情况 du -h /path/test/directory 使用du命令查看指

    2024年02月11日
    浏览(26)
  • linux查看磁盘占用命令

    2024年02月20日
    浏览(29)
  • docker磁盘爆满,linux docker /var/lib/docker/overlay2占用磁盘原因分析

    提示:这里描述项目中遇到的问题: 某天发现自己的博客网站挂掉了。上腾讯云发现是 磁盘已经满了 。 一般原因有下列几种情况,逐步分析即可 1.docker镜像占用磁盘 2.docker日志 3./var/lib/docker/overlay2下的容器文件(主要) 这种情况先使用 docker images 对象查看有哪些镜像,可

    2024年02月08日
    浏览(38)
  • 查看Linux磁盘空间

    在 Linux 系统中,可以使用以下命令来查看磁盘空间的使用情况: 1. `df` 命令 该命令会列出当前系统所有挂载的文件系统以及它们的使用情况,包括总容量、已用空间、可用空间、使用百分比等信息。 2. `du` 命令 该命令会计算指定目录下所有文件和子目录所占用的磁盘空间大

    2024年02月14日
    浏览(33)
  • Linux显示磁盘空间不足,/tmp文件夹占用100%问题分析和解决方案

            系统运行过程中发现无法上传文件,第一反应是磁盘空间不足导致,登录服务器后查看文件存放的空间充足,但是无法上传文件且命令行的tab键自动补充也提示空间不足。最后经过搜索和分析发现是/tmp 文件夹占用100%导致。以下记录分析和解决流程。         服

    2024年02月05日
    浏览(51)
  • Linux磁盘空间与文件大小查看命令详解

            在Linux系统中,有多个命令可以用来查看磁盘空间的使用情况。最常用的命令是 df (disk free)。 df 命令的 -h 选项以人类可读的方式显示磁盘空间,该命令将显示文件系统的使用情况、剩余空间等信息。         为了查看特定文件夹的大小,我们可以使用 du (

    2024年01月20日
    浏览(47)
  • Linux 服务器查看每个用户或者当前用户的磁盘占用量及文件同步

    [1]ubuntu查看每个用户或者当前用户的磁盘占用量及磁盘空间清理

    2024年03月26日
    浏览(41)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包