centos删除文件不释放_centos 磁盘空间不释放 各位有什么解决方案吗
匿名用户
1级
2017-11-28 回答
未释放磁盘空间原因:
在Linux或者Unix系统中,通过rm或者文件管理器删除文件将会从文件系统的文件夹结构上解除链接(unlink).然而假设文件是被
打开的(有一个进程正在使用),那么进程将仍然能够读取该文件,磁盘空间也一直被占用。而我删除的是oracle的告警log文件
删除的时候文件应该正在被使用
解决方法
首先获得一个已经被删除可是仍然被应用程序占用的文件列表,例如以下所看到的:
[root@ticketb ~]# lsof |grep deleted
oracle 12639 oracle 5w REG 253,0 648 215907 /home/oracle/admin/dbticb/udump/dbticb_ora_12637.trc (deleted)
oracle 12639 oracle 6w REG 253,0 16749822091 215748 /home/oracle/admin/dbticb/bdump/alert_dbticb.log (deleted)
oracle 12639 oracle 7u REG 253,0 0 36282 /home/oracle/oracle/product/10.2.0/db_1/dbs/lkinstdbticb (deleted)
oracle 12639 oracle 8w REG 253,0 16749822091 215748 /home/oracle/admin/dbticb/bdump/alert_dbticb.log (deleted)
oracle 12641 oracle 5w REG 253,0 648 215907 /home/oracle/admin/dbticb/udump/dbticb_ora_12637.trc (deleted)
oracle 12641 oracle 6w REG 253,0 16749822091 215748 /home/oracle/admin/dbticb/bdump/alert_dbticb.log (deleted)
。
。
。
oracle 23492 oracle 6w REG 253,0 16749822091 215748 /home/oracle/admin/dbticb/bdump/alert_dbticb.log (deleted)
oracle 23492 oracle 7u REG 253,0 0 36282 /home/oracle/oracle/product/10.2.0/db_1/dbs/lkinstdbticb (deleted)
oracle 23492 oracle 8w REG 253,0 16749822091 215748 /home/oracle/admin/dbticb/bdump/alert_dbticb.log (deleted)
oracle 23494 oracle 10u REG 253,0 0 36307 /home/oracle/oracle/product/10.2.0/db_1/dbs/lkinstrmandb (deleted)
从输出结果能够看到/home/oracle/admin/dbticb/bdump/alert_dbticb.log还被使用,未被释放空间
怎样让进程释放呢?
一种方法是kill掉相应的进程,或者停掉使用这个文件的应用,让os自己主动回收磁盘空间
我这个环境有非常多进程在使用的这个文件,停掉进程有点麻烦,再有就是风险非常大
当linux打开一个文件的时候,Linux内核会为每个进程在/proc/ 『/proc/nnnn/fd/文件夹(nnnn为pid)』建立一个以其pid
为名的文件夹用来保存进程的相关信息,而其子文件夹fd保存的是该进程打开的全部文件的fd(fd:file descriptor)。
kill进程是通过截断proc文件系统中的文件能够强制要求系统回收分配给正在使用的的文件。
这是一项高级技术,仅到管理员确定不会对执行中的进程造成影响时使用。应用程序对这样的方
式支持的并不好,当一个正在使用的文件被截断可能会引发不可预知的问题
所以我还是采用停应用来解决
restart oracle数据库,发现/home/oracle/admin/dbticb/bdump/alert_dbticb.log相应的空间被释放
在查看磁盘空间的使用情况,发现空间已经回收了
[root@ticketb ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda1 981M 203M 729M 22% /
none 16G 0 16G 0% /dev/shm
/dev/sda9 2.9G 37M 2.7G 2% /tmp
/dev/sda7 4.9G 1.9G 2.7G 42% /usr
/dev/sda8 2.9G 145M 2.6G 6% /var
/dev/mapper/vghome-lvhome
20G 2.6G 16G 15% /home
/dev/mapper/vgoradata-lvoradata
144G 48G 90G 35% /u01/oradata
/dev/mapper/vgbackup-lvbackup
193G 7.8G 175G 5% /u01/backup
centos删除文件不释放_centos 磁盘空间不释放 各位有什么解决方案吗相关推荐
- Linux fs清理文件,linux找出已经删除但磁盘空间未释放的大文件并清空
linux找出已经删除但磁盘空间未释放的大文件并清空 1.找出已经删除但磁盘空间未释放的文件 如果文件已经删除,但实际的磁盘空间未释放,这个时候文件句柄fd相关信息还在内存中,可以通过lsof命令找出 ...
- linux找出已经删除但磁盘空间未释放的大文件并清空
1.找出已经删除但磁盘空间未释放的文件 如果文件已经删除,但实际的磁盘空间未释放,这个时候文件句柄fd相关信息还在内存中,可以通过lsof命令找出,比如打开文件的pid和读写文件的系统fd. lsof ...
- Linux删除大文件后磁盘空间未释放问题
前言 工作中经常遇到Linux系统磁盘空间不足,但是删除后较大的日志文件后,发现磁盘空间仍没有被释放,有点摸不着头脑,今天博主带大家解决这个问题. 思路 1.工作发现磁盘空间不足: 2.找到占用磁盘空 ...
- Windows 的 docker 删除容器后 WSL2 磁盘空间不释放的问题
Windows 的 docker 删除容器后 WSL2 磁盘空间不释放的问题 1.起因及原因 2.解决 2.1 找到要压缩的虚拟磁盘文件 2.2 关闭 Docker Desktop 2.3 压缩虚拟磁 ...
- 解决CentOS删除文件后没有释放磁盘空间(lsof命令)
当linux系统下启动多个服务且没有一定的清理机制时(比如日志),系统磁盘空间很容易就被打满,但是有时候删除了文件(比如nohup.out),却发现系统磁盘空间未释放,可能原因是忽略了有应用一直在往其 ...
- linux rm 不释放_Linux解决rm 删除大文件后 磁盘空间无法释放的问题
Linux解决rm 删除大文件后 磁盘空间无法释放的问题 在Linux中,当我们使用rm在linux上删除了大文件,但是如果有进程打开了这个大文件,却没有关闭这个文件的句柄,那么linux内核还是不会 ...
- 为什么文件删除了但磁盘空间没有释放?
1.案例现象 这天,监控系统发来一条告警消息,内容说某台服务器根目录磁盘占用空间达到阈值,超过百分之八十了 登上服务器,df -Th 看一下,发现磁盘空间确实不够用了 [root@localhost ...
- LINUX文件已删除但磁盘空间不释放
LINUX文件已删除但磁盘空间不释放 转自:http://www.jb51.net/LINUXjishu/224652.html 1.错误现象 运维的监控系统发来通知,报告一台服务器空间满了,登陆服务 ...
- 有时候Mac下删除文件磁盘空间无法释放
http://vela.diandian.com/post/2012-09-15/40038173334 首先呢,不知道是不是我这里才遇到:删除文件(之后清理掉Trash)或者用rm -rf直接命令行 ...
最新文章
- java中正则表达式 ?=_Java中的正则表达式
- U盘容量减少的解决办法
- mysql 分库分表的方法
- JMeter正则表达式-学习(3)
- 《零基础看得懂的C++入门教程 》——(9)结构体原来如此
- WebLogic域的创建与发布
- 英语总结系列(二十七):重复就是力量
- android电视机清理内存,电视盒子总是内存不足?五大清理方法释放更多内存
- Multisim使用入门教程
- 中国民用航空飞行学院 - 人事工资薪酬管理系统
- Vue项目JS脚本错误捕获
- MenuetOS.net最小的linux.
- Python基础模块:图像处理模块@PIL(批量分类处理图片及添加水印)
- 智慧树工业机器人测试答案_智慧树工业机器人答案章节单元测试答案
- Google Earth揭密中国军事设施
- Scrum入门基础系列之Scrum起源
- ap协议java_总结无线AP与AC之间的各种问题
- 思科-CCNA,CCNP,CCIE
- 笔试题while((i+1) == (i+1)){}引发的思考
- 数据结构——c语言 递归输出杨辉三角
热门文章
- mysql 开仓函数_MySQL函数大全 及用法示例
- 电机高频注入原理_永磁同步电机新型转子位置估计误差补偿策略
- python中修饰器的优点和作用_Python装饰器(你想知道的这里都有)
- xcode修改时间后就要重新编译_iOS 微信编译速度优化分享
- 使用Redis 管理事务(Java)
- 查看 Laravel 的 SQL 语句的方法
- 安全与透明:智能互联网的基石
- Paypal支付的退款refund之getAccessToken
- TCP协议客户端读取文本文件,服务器端输出到文本文件
- AngularJs中的directives(指令part1)