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服务后,服务器在真实的删除这个早就删除的文件吧。
等磁盘负载下降到正常水平,再通过上述命令查看,磁盘使用情况总算正常了,特留此文章已被纪念缅怀。。。
df与du查看磁盘空间使用不一致的解决方法的更多相关文章
- 为什么Linux 实例执行 df 和 du 查看磁盘时结果不一致
问题现象 执行 df -h 查看 ECS Linux 实例文件系统使用率,可以看到 /dev/xvdb1 磁盘占用了约27G,挂载目录为 /opt . 进入到 /opt 目录执行 du -sh ,显示 ...
- 使用df -h命令查看磁盘空间使用率不算高,还有很多空余空间,但是创建文件或写入数据时一直报错磁盘写满
关于磁盘空间中索引节点爆满的问题还是挺多的,借此跟大家分享一下: 一.发现问题 在公司一台配置较低的Linux服务器(内存.硬盘比较小)的/data分区内创建文件时,系统提示磁盘空间不足,用df -h ...
- 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 ...
- 41、解决du与df统计不一致的解决方法
41.1.案例说明: 通过df -hT和du -sh /.du -h --max-depth=1 /命令 发现磁盘的使用不量不一致,使用'df -hT'命令查看磁盘的使用量要 比使用'du -sh / ...
- 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 ...
随机推荐
- 关于IP数据包首部校验字段的理解
关于IP数据包首部校验字段的理解 IP数据包格式及首部个字段: www.2cto.com 对上表的各个数据项就不一一解释了,这里具体关注以下几个数据项: 1.4位首部长度:这里的长度指的是4By ...
- google浏览器中 查看记住的账号和密码
对于一个有“健忘症”的人来说,密码形同虚设..设置了就忘记,每次登陆都要重新设置密码... 然后,无意中发现,谷歌浏览器点过一次记住密码后,竟然可以明文查看账号和密码!! 步骤: 1.打开谷歌浏览器, ...
- BA-深化设计流程
本文分三个层次描述了常规BA系统深化设计应包含了步骤和文件,第一个.第二个为转载别人的步骤,第三个为本人写的步骤. 深化系统大体步骤: 1.认真阅读招标文件,明确招标方需求. 2.仔细查阅图纸,确定被 ...
- 计算机网络系统--TCP/IP OSI模型
- [SharePoint2010开发入门经典]12、SPS2010安全管理
本章概要: 1.SPS中的用户授权 2.理解服务器场解决方案和沙箱解决方案的不同 3.理解表单验证和声明验证
- POJ 2191
只会打表 #include <iostream> #include <cstdio> #include <cstdlib> #include <cstring ...
- HIbernate中openSession和getCurrentSession
这两者的差别网上非常多资源,我这里就copy一下了,然后有点问题的是今天遇到的问题. openSession和getCurrentSession的根本差别在于有没有绑定当前线程,所以,用法有差 ...
- UI_KVC赋值
使用KVC对person的属性进行赋值 [aperson setValue:@"yadong" forKey:@"name"]; [aperson setVal ...
- Educational Codeforces Round 12 E. Beautiful Subarrays trie求两异或值大于等于k对数
E. Beautiful Subarrays One day, ZS the Coder wrote down an array of integers a with elements a1, ...
- java位运算笔记
位运算: ~(非)-->二进制数进行0和1的互换 样例: public class Test { public static void main(String[] args) { System. ...