匿名用户

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 磁盘空间不释放 各位有什么解决方案吗相关推荐

  1. Linux fs清理文件,linux找出已经删除但磁盘空间未释放的大文件并清空

    linux找出已经删除但磁盘空间未释放的大文件并清空 1.找出已经删除但磁盘空间未释放的文件 如果文件已经删除,但实际的磁盘空间未释放,这个时候文件句柄fd相关信息还在内存中,可以通过lsof命令找出 ...

  2. linux找出已经删除但磁盘空间未释放的大文件并清空

    1.找出已经删除但磁盘空间未释放的文件 如果文件已经删除,但实际的磁盘空间未释放,这个时候文件句柄fd相关信息还在内存中,可以通过lsof命令找出,比如打开文件的pid和读写文件的系统fd. lsof ...

  3. Linux删除大文件后磁盘空间未释放问题

    前言 工作中经常遇到Linux系统磁盘空间不足,但是删除后较大的日志文件后,发现磁盘空间仍没有被释放,有点摸不着头脑,今天博主带大家解决这个问题. 思路 1.工作发现磁盘空间不足: 2.找到占用磁盘空 ...

  4. Windows 的 docker 删除容器后 WSL2 磁盘空间不释放的问题

    Windows 的 docker 删除容器后 WSL2 磁盘空间不释放的问题 1.起因及原因 2.解决 2.1 找到要压缩的虚拟磁盘文件 2.2 关闭 Docker Desktop 2.3 压缩虚拟磁 ...

  5. 解决CentOS删除文件后没有释放磁盘空间(lsof命令)

    当linux系统下启动多个服务且没有一定的清理机制时(比如日志),系统磁盘空间很容易就被打满,但是有时候删除了文件(比如nohup.out),却发现系统磁盘空间未释放,可能原因是忽略了有应用一直在往其 ...

  6. linux rm 不释放_Linux解决rm 删除大文件后 磁盘空间无法释放的问题

    Linux解决rm 删除大文件后 磁盘空间无法释放的问题 在Linux中,当我们使用rm在linux上删除了大文件,但是如果有进程打开了这个大文件,却没有关闭这个文件的句柄,那么linux内核还是不会 ...

  7. 为什么文件删除了但磁盘空间没有释放?

    1.案例现象 这天,监控系统发来一条告警消息,内容说某台服务器根目录磁盘占用空间达到阈值,超过百分之八十了 登上服务器,df -Th 看一下,发现磁盘空间确实不够用了 [root@localhost ...

  8. LINUX文件已删除但磁盘空间不释放

    LINUX文件已删除但磁盘空间不释放 转自:http://www.jb51.net/LINUXjishu/224652.html 1.错误现象 运维的监控系统发来通知,报告一台服务器空间满了,登陆服务 ...

  9. 有时候Mac下删除文件磁盘空间无法释放

    http://vela.diandian.com/post/2012-09-15/40038173334 首先呢,不知道是不是我这里才遇到:删除文件(之后清理掉Trash)或者用rm -rf直接命令行 ...

最新文章

  1. java中正则表达式 ?=_Java中的正则表达式
  2. U盘容量减少的解决办法
  3. mysql 分库分表的方法
  4. JMeter正则表达式-学习(3)
  5. 《零基础看得懂的C++入门教程 》——(9)结构体原来如此
  6. WebLogic域的创建与发布
  7. 英语总结系列(二十七):重复就是力量
  8. android电视机清理内存,电视盒子总是内存不足?五大清理方法释放更多内存
  9. Multisim使用入门教程
  10. 中国民用航空飞行学院 - 人事工资薪酬管理系统
  11. Vue项目JS脚本错误捕获
  12. MenuetOS.net最小的linux.
  13. Python基础模块:图像处理模块@PIL(批量分类处理图片及添加水印)
  14. 智慧树工业机器人测试答案_智慧树工业机器人答案章节单元测试答案
  15. Google Earth揭密中国军事设施
  16. Scrum入门基础系列之Scrum起源
  17. ap协议java_总结无线AP与AC之间的各种问题
  18. 思科-CCNA,CCNP,CCIE
  19. 笔试题while((i+1) == (i+1)){}引发的思考
  20. 数据结构——c语言 递归输出杨辉三角

热门文章

  1. mysql 开仓函数_MySQL函数大全 及用法示例
  2. 电机高频注入原理_永磁同步电机新型转子位置估计误差补偿策略
  3. python中修饰器的优点和作用_Python装饰器(你想知道的这里都有)
  4. xcode修改时间后就要重新编译_iOS 微信编译速度优化分享
  5. 使用Redis 管理事务(Java)
  6. 查看 Laravel 的 SQL 语句的方法
  7. 安全与透明:智能互联网的基石
  8. Paypal支付的退款refund之getAccessToken
  9. TCP协议客户端读取文本文件,服务器端输出到文本文件
  10. AngularJs中的directives(指令part1)