免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1893 | 回复: 0
打印 上一主题 下一主题

关于`rm ***`系统不释放***硬盘空间的处理办法 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2010-01-27 18:09 |只看该作者 |倒序浏览
[转贴]关于rm删除文件空间不释放的问题可以写成一个FAQ了7v6k,R F B O5e*[9N,b
;] T O4b i v9W
一般说来不会出现rm掉不释放空间的情况
g7t c$i A i
出现这样的情况一般是由于有进程在向文件中写数据或有进程正在访问文件 ^%A i8G [
而此时rm文件则会出现不释放空间的情况0K c(G J s S6p#w3y
/n+B        a U/j1I ^(P8N:O8z
理解这样的问题需要理解rm的操作内含 w"X V S(| U1J5S
一个文件的存放有数据部分和指针部分,而指针位于文件系统的头
!_ Z \#T A N
删除操作系统的一个文件与oracle drop表的实质有些相似
R#i        o Y#V#w _
处理掉指针,文件数据部分占用的空间就可以写入新内容了
r'\(v'q z K)F
之所以出现rm不释放即为有进程在用这个文件而引起操作系统认为这个文件未实质释放,从而df或bdf空间统计不正确        ^#@ J \7];?
"t        X w1| ~$q%}5_4e
这一类问题的解决方法一般说来可以重启操作系统,重新umount及mount那个文件系统
R)c A a t!b;B ~ o i5[
这并不是一个好方法$\/u }$R x
Y T x6A8o
我建议的操作方法如下:
(z8H ^ s        w!]        G
X
1、下载一个lsof软件装上,google上可以搜到0w        ] J3p'L.E
2、找到正在用被删文件的进程
z L
F m a E#S
  lsof | grep deleted .o!t5d7p v Q Z
3、kill掉相应的进程空间就释放了 _ k j V z4f i k
} t Q        N7s'v G I$g
] ?
其它建议:
w%b b @
h q
I
1、清理alert.log listerner.log这些日志文件时最好用">文件"这样的操作方式,不要用rm。
4N [ U;x C&{ x
2、清理归档日志最好用backup ... delete input这样的方式。0z {)A3j:d y4t y        E.m c
3、如果你的操作系统总出现rm不释放空间的问题,该请sa好好查查系统问题了,同时可以在rm前用lsof看一下有无进程在用这个文件。
![ B ?
B)Z H
4、解决问题的方法很多,最好不要用重启数据库或重启操作系统这样的方法
B;N4a t0`#L.h2m5P
               
               
               

本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u2/88420/showart_2162422.html
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP