诡异的Linux磁盘空间被占用问题,根目录满了,df和du占用不一样【转】
新公司的测试机磁盘空间空余很小,日志很多,也很大,做个日志压缩脚本,在夜里4:30自动运行,第二天后发现磁盘空间又满了,只好删除没用的日志,清空空间,可诡异的是怎么删除没用的文件,空间还是占用很大。如图

用du 根目录下,发现这些文件加一块也达不到占用的空间大小。如图

我也有遇见过此类问题,一般都是重启完事,因为磁盘坏道损坏有可能导致此问题。
或 DF -i 查看inode使用率,inode不够用也会导致此问题。可看了inode也够用。
如图

这次我度娘了一下,”磁盘空间没释放“,按一篇文章干,解决了此问题。
记录如下:
昨天协助同事搞定了一起磁盘空间被”无形”占用的疑难杂症,简要记录以备忘.
1、用df 检查发现/根目录可用空间为0
[root@/]#df -h
2、用du检查发现各目录占用的空间都很少,有约3G的空间莫名其妙地丢了.
[root@/]# du -m –max-depth=1 |sort -gr
3、用lsof检查后才发现原因是,有文件被删除,而进程还活着,因而造成还占用空间的现象
[root@/]# lsof |grep delete
根据lsof列出的进程号,kill这些进程后,空间就释放出来了.
本文出自 “想飞却飞不高的猪” 博客,请务必保留此出处http://2483526.blog.51cto.com/2473526/798379
linux里的文件被删除后,空间没有被释放是因为在Linux系统中,通过rm或者文件管理器删除文件将会从文件系统的目录结构上解除链接(unlink).然而如果文件是被打开的(有一个进程正在使用),那么进程将仍然可以读取该文件,磁盘空间也一直被占用。
态为deleted为标记被删除,其实该文件并没有从磁盘中删除,类似windows下的回收站状态。
据称当有其他进程打开某文件时文件被删除,就会将该文件标记为deleted,并删除其目录节点。使用du查看时,因为没有该删除状态文件的节点信息,所以就不做统计,从而导致与df的结果不一致。
若要将deleted状态文件删除,则根据pid直接kill调相应进程即可。
找回被删除文件:
使用lsof处理文件恢复、句柄以及空间释放问题 - yexiaoxiaobai - SegmentFault
https://segmentfault.com/a/1190000000461077
诡异的Linux磁盘空间被占用问题,根目录满了,df和du占用不一样【转】的更多相关文章
- linux磁盘空间满的处理
Java中运行SQL插入数据时报错: linux磁盘空间满处理: 1.df -h 查看磁盘空间占用,实际上是查看磁盘块占用的文件(block) 2.分别查看输入以下命令 (面对磁盘满了,通过下列命令 ...
- Linux磁盘空间被未知资源耗尽【转】
Linux磁盘空间被未知资源耗尽 在linux中,当我们使用rm在linux上删除了大文件,但是如果有进程打开了这个大文件,却没有关闭这个文件的句柄,那么linux内核还是不会释放这个文件的磁盘空间, ...
- 云服务器 ECS Linux 磁盘空间满(含 innode 满)问题排查方法
问题描述 在云服务器 ECS Linux 系统内创建文件时,出现类似如下空间不足提示: No space left on device … 问题原因 导致该问题的可能原因包括: 磁盘分区空间使用率达到 ...
- Linux学习之CentOS(十七)-----释放 Linux 系统预留的硬盘空间 与Linux磁盘空间被未知资源耗尽 (转)
释放 Linux 系统预留的硬盘空间 大多数文件系统都会保留一部分空间留作紧急情况时用(比如硬盘空间满了),这样能保证有些关键应用(比如数据库)在硬盘满的时候有点余地,不致于马上就 crash,给监 ...
- Linux磁盘空间分析及清理(df、du、rm)
1.df磁盘空间查看 df可以查看一级文件夹大小.使用比例.档案系统及其挂入点. [root@oms ~]# df -Th Filesystem Type Size Used Avail Use% M ...
- linux磁盘空间使用问题
linux磁盘空间用满的处理方法 linux下空间满可能有两种情况 可以通过命令 df -h 查看磁盘空间占用,实际上是查看磁盘块占用的文件(block) df -i 查看索引节点的占用(Inod ...
- 查看Linux磁盘空间大小命令
发表于:2012-09-17 10:25 查看Linux磁盘空间大小 一.df 命令: df 是来自于coreutils 软件包,系统安装时,就自带的:我们通过这个命令可以查看磁盘的使用情况以及文 ...
- linux磁盘空间满了 但是没有大文件
很常见的一个问题 linux磁盘空间满了 但是没有大文件 解决思路: 1.用df 检查发现/根目录可用空间为0 [root@/]#df -h 2.用du检查发现各目录占用的空间都很少,有约3G的空间莫 ...
- Linux磁盘空间不足
Linux磁盘空间不足 描述:zabbix报警磁盘空间不足 1.登录服务器,查看磁盘空间 2.筛选空间占用的文件 层层筛选 3.将没用的文件删除 rm -f /opt/export/log/np_se ...
随机推荐
- 第五篇——Spring音乐播放界面设计(C#)
由于小组成员已经完成软件的详细设计说明书,在这里只具体说明软件程序的细节编写,以免重复. 歌曲的播放采用VS自带的axWindowsMediaPlayer插件,所以程序中涉及到许多该插件的使用.Ctl ...
- 第三次spring冲刺1
Not Check Out Check Out Done SPRINT GOAL: BETA-READY RELEASE 困难模式 DONE 修改已知bug DONE 美化界面 ...
- VSCode和VUE的初始安装及简单使用入门
(版本1.0) npm run dev 运行工程 PS F:\SDN\VIMS--前端\vue> cnpm install PS F:\SDN\VIMS--前端\vue> cnpm reb ...
- [转帖]ESXi、Linux、Windows获取机器序列号的方法
http://blog.51cto.com/liubin0505star/1717473 windows: wmic bios get serialnumber linux: dmidecode准确一 ...
- [知乎]BAT占线
黑色自有,蓝色全资收够,红色入股. https://www.zhihu.com/question/304396738/answer/547766603
- Ubuntu 14.04 将一个sh文件制作成类似于windows下的可以双击执行的快捷方式
# 创建文件 touch test.desktop # 在test.desktop中写入如下内容 [Desktop Entry] Version=1.0 Type=Application Termin ...
- 新版 Chrome Ajax 跨域调试
一.前言 web 开发中 Ajax 是十分常见的技术,但是在前后端使用接口对接的调试过程中不可避免会碰到跨域问题.今天我给大家介绍一个十分简单有效的方法. 跨域经典错误 二.Chrome 跨域设置 首 ...
- 获取移动端 touchend 事件中真正触摸点下方的元素
移动端的touchstart, touchmove, touchend三个事件,拖动元素结束时,获取到了touchend事件, 但是event.touches[0].target所指向的元素却是tou ...
- MT【202】内准圆
双曲线$\dfrac{x^2}{4}-\dfrac{y^2}{12}=1$ 的右焦点为 F,左准线为 L. 椭圆C 以F和L为其的焦点及准线,过F作一条斜率为 1 的直线交椭圆C于点A和B. 若椭圆C ...
- 小记之while循环条件的操作位置
# 判断条件时自减操作 (循环体判断 len == 0) > 执行顺序为,while(len) → len-- → 循环体 while(len--) { == len) { *buf = i2c ...