欢迎访问生活随笔!

生活随笔

您现在的位置是:首页 > 形式科学 > 操作系统 > 其他OS

其他OS

Hp unix rm文件空间不释放问题解决

发布时间:2022-06-22其他OS 系统管理员
在文章中文我们会对Hp unix的知识进行讲解。在使用Hp unix的时候,很多人会遇到操作系统中RM掉一个大文件的问题。

很多人会遇到在操作系统上rm掉一个大的文件,以解决文件系统超标的问题,可是有的时侯文件删除掉了,而空间却未释放出来。论坛上也常常见这样贴子,为什么会这样,如何解决呢?本文只局限于Hp unix的操作系统。

rm掉文件空间不释放原因

原因其实很简单,主要是因为被删除的文件在删除的时侯还是进程在操作(打开、访问等)的缘故,rm只完成了在磁盘上文件实体的释放,而类似free list结构中相应的文件系统因进程的操作相应的inode并未释放。

解决的方法

这样的问题解决起来也很简单,找到操作的进程,kill掉就可以了,可是找到操作的进程恰恰是本问题的难点和关键。这样的问题也可以通过重启机器和nmount/mount文件系统这样的方式解决,但这样的方法我是不提倡的,小小的问题就重启机器,小题大做。

1 Hp unix操作系统
需要借助uli这个内部工具,后面会详细说。

2 linux及solaris
可以这样做:
a、下载一个lsof软件装上,google上可以搜到
b、找到正在用被删文件的进程
lsof | grep deleted
c、kill掉相应的进程空间就释放了

Hp unix本问题的解决

1 问题重现

1.1 bdf一下/oracle文件系统
 

  1. # bdf /oracle  
  2. Filesystem kbytes used avail %used Mounted on  
  3. /dev/vg00/lv_oracle  
  4. 8192000 5313813 2698313 66% /oracle  
  5. 可见空余2698313kb 

1.2 udump下有一文件占用了60多mb的空间
 

  1. # pwd  
  2. /oracle/app/oracle/admin/yztest/udump  
  3. #  
  4. # ls -l yztest_ora_11026.trc  
  5. -rw-rw-rw- 1 root sys 62217530 Apr 23 10:36 yztest_ora_11026.trc  

1.3 以more命令查看文件,保持这个操作不动
# more yztest_ora_11026.trc

1.4 另开一个窗口,删除文件,空间未释放
 

  1. # rm yztest_ora_11026.trc  
  2. #  
  3. # ls -l yztest_ora_11026.trc  
  4. yztest_ora_11026.trc not found  
  5. #  
  6. # bdf /oracle  
  7. Filesystem kbytes used avail %used Mounted on  
  8. /dev/vg00/lv_oracle  
  9. 8192000 5313813 2698313 66% /oracle 

可见/oracle文件系统的可用空间并未发生改变。

这样,我们对Hp unix中的问题就分析清楚了,解决问题的方法就浮出水面了。

【编辑推荐】

  1. Unix Shell注意问题备忘
  2. Unix操作系统加锁和解锁讲解
  3. Unix系统行业工具介绍
  4. 讲解Unix系统cpio命令
  5. Unix系统磁带管理命令