linux看磁盘空间du df,df与du查看磁盘空间使用不一致的解决方法

近一段时间,某台服务器的磁盘空间使用不太正常,与其他的服务器相比,严重超出磁盘空间使用

使用df与du相关命令查看,具体结果如下:

du -h

Filesystem       Size  Used Avail Use% Mounted on

/dev/vda1         50G   42G  5.5G  89% /

devtmpfs         1.9G     0  1.9G   0% /dev

tmpfs            1.9G   48K  1.9G   1% /dev/shm

tmpfs            1.9G  613M  1.3G  33% /run

tmpfs            1.9G     0  1.9G   0% /sys/fs/cgroup

tmpfs            380M     0  380M   0% /run/user/1003

tmpfs            380M     0  380M   0% /run/user/0

du --max-depth=1 -h

0       ./proc

0       ./sys

12K     ./opt

34M     ./etc

16K     ./lost+found

611M    ./run

4.0K    ./media

1.9G    ./data

4.0K    ./mnt

532M    ./var

5.7G    ./usr

200K    ./home

4.0K    ./srv

792K    ./tmp

16M     ./root

0       ./dev

216M    ./boot

8.9G    .

把比较大的日志文件删除或者清空后仍不见好转

后来,在网上查找相关原因,得到的结论如下:

在Linux中,当我们使用rm在linux上删除了大文件,但是如果有进程打开了这个大文件,却没有关闭这个文件的句柄,那么linux内核还是不会释放这个文件的磁盘空间,最后造成磁盘空间占用100%,整个系统无法正常运行。这种情况下,通过df和du命令查找的磁盘空间,两者是无法匹配的,可能df显示磁盘100%,而du查找目录的磁盘容量占用却很小。

于是使用如下命令:lsof -n | grep deleted ,找出那些文件已经被删除,但是还有进程在访问这些文件的进程,经过查询可知,是mysql的锅,果断重启mysql服务。

重启mysql的过程心惊胆战的,总担心起不来,因为之前遇到过mysql服务重启起不来的情况,不过幸好,服务重启竟然起来了。

然后就是服务器卡的要死,通过使用top命令查看,发现磁盘负载很高,细心观察,负载在逐渐下降,这个就应该是重启mysql服务后,服务器在真实的删除这个早就删除的文件吧。

等磁盘负载下降到正常水平,再通过上述命令查看,磁盘使用情况总算正常了,特留此文章已被纪念缅怀。。。

为什么Linux 实例执行 df 和 du 查看磁盘时结果不一致

问题现象 执行 df -h 查看 ECS Linux 实例文件系统使用率,可以看到 /dev/xvdb1 磁盘占用了约27G,挂载目录为 /opt . 进入到 /opt 目录执行 du -sh ,显示 ...

linux中df和du查看磁盘大小不一致解决方法

挂了一块50G到/data目录下#  df -h Filesystem Size Used Avail Use% Mounted on /dev/xvdb1 50G 46G 1.2G 98% /dat ...

向磁盘写入数据提示:No spac left on device通过df -h查看磁盘空间,发现没满,解决方法

初步判断应该有两种情况:一种是block满了,另一种情况就是inode耗尽了. 首先df -i 查看一下是否耗尽inode/block数量. 虚拟一块磁盘并格式化: dd if=/dev/zero o ...

Linux 查看磁盘空间大小

(1)查看文件大小 1. 查看当前文件夹下所有文件大小(包括子文件夹)    du -sh   2.查看var目录下文件大小   du -sh var   3.查看指定文件夹下所有文件大小(包括子文件 ...

linux命令----查看磁盘空间

今天用“web发布平台”发布测试的服务,两个节点中发现有一个节点没有发布成功,压测TPS始终上不去,排查后发现只有一个节点在打日志,另一个节点的服务进程都没有在运行,由此断定应该是没有发布成功,有点坑 ...

linux -- 查看磁盘空间的大小

Ubuntu 查看磁盘空间大小命令 df -h Df命令是linux系统以磁盘分区为单位查看文件系统,可以加上参数查看磁盘剩余空间信息, 命令格式: df -hl  显示格式为:  文件系统 容量 已 ...

Linux查看磁盘空间大小命令

Linux查看磁盘空间大小命令df -hldf -hl 查看磁盘剩余空间df -h 查看每个根路径的分区大小du -sh [目录名] 返回该目录的大小du -sm [文件夹] 返回该文件夹总M数du ...

linux 查看磁盘空间

linux 查看磁盘空间大小命令 df :命令是linux系统以磁盘分区为单位查看文件系统,可以加上参数查看磁盘剩余空间信息 df -hl:查看磁盘剩余空间信息,显示如下: 文件系统          ...

Linux:查看磁盘空间占用情况

Linux:查看磁盘空间占用情况 工作中有时被分配的测试机空间不大,经常遇到磁盘空间占满的情况.排查过程如下: 一.首先使用df -h 命令查看磁盘剩余空间,通过以下图看出/目录下的磁盘空间已经被占满 ...

随机推荐

Hive-0.x.x - Enviornment Setup

All Hadoop sub-projects such as Hive, Pig, and HBase support Linux operating system. Therefore, you ...

psql

1.sudo passwd postgres 2.sudo -u postgres createuser -P django_login 3.su postgres 4.psql 5.CREATE D ...

Hololens开发笔记之Gesture手势识别(Manipulation手势控制物体旋转)

Manipulation gesture:保持点击手势,在3D世界中绝对运动 当你想要全息图像1:1响应用户手部移动时,操纵手势能被用于移动.缩放或旋转全息图像.如此的一个用处是使得用户可以在世界中绘 ...

phpcms标签使用 —— 系统常量

以下系统常量全局可用 1 2 3 4 5 6 7 8 9 10 11 12 13 CACHE_PATH 缓存文件夹地址 SITE_PROTOCOL 主机协议 SITE_URL 当前访问的主机名 HTT ...

网站禁止右键点击js

Entity Framework CodeFirst数据迁移

前言 紧接着前面一篇博文Entity Framework CodeFirst尝试. 我们知道无论是“Database First”还是“Model First”当模型发生改变了都可以通过Visual ...

struts2 CRUD 入门 配置

本文介绍struts2在eclipse下的配置,实现一个具有CRUD功能的图书管理系统. 1         开发环境配置 1.1           在Eclipse中配置Struts2 1.1.1 ...

disable_functions(禁用php函数)

我们怎么来设置php禁止运行的函数呢? 其实,我们可以在php.ini文件进行设置,如图

使用非 GUI 模式运行 JMeter 压力测试

使用非 GUI 模式,即命令行模式运行 JMeter 测试脚本能够大大缩减所需要的系统资源.使用命令jmeter -n -t -l

jQuery 捕获

jQuery 拥有可操作 HTML 元素和属性的强大方法. jQuery DOM 操作 jQuery 中非常重要的部分,就是操作 DOM 的能力. jQuery 提供一系列与 DOM 相关的方法,这使 ...

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值