AIX文件系统满的问题分析

今天一个系统的文件系统/home满了,让我看
我先用du -sk看,半天没出结果,晕,下面还挂了个oracle的home目录
解决办法,加个-x,只看驻留在系统设备上的文件 du -sxk
结果大概为5.7G

接着用df -k分析,该文件系统大小为10G,使用100%
这种情况,一般就是文件系统满了后,维护人员删除了部分大的日志,但是并没有停进程,进程还持有文件inode操作的句柄,其实文件还没有真实删除掉
最常见的情况是对ORACLE trc目录的处理,经常有人为我问什么日志清了,空间还没释放出来

下面确认这个文件
fuser -d /home  任何与文件系统(自父目录删除的)无链接的打开文件的报告,主要显示那些进程
fuser -dV /home 提供详细输出,查看相关的inode信息

发现大量进程,并且-dV显示出有个接近5G的文件
用istat inode_number /dev/hd1可以看看这个文件,确实有那么大

接下来的工作,是找到持有句柄的进程,将其KILL掉
下面是我写的一个SHELL,作用是找到存在的使用/home目录的句柄,并过滤掉FD为cwd(当前工作目录)的以及挂到了/home/oracle下面的另一个文件系统
然后用awk,sed拼一个其在/proc下的文件名,具体这部分的知识,请google。我用sed过滤掉了fd列全部的字母,其实只应该过滤掉w和u。
然后使用ls -l得到文件大小并排序
ls -l `lsof |grep /home|grep -v cwd|grep -v /home/oracle|awk '{print "/proc/"$2"/fd/"$4}'|sed 's/[a-z]$//g'`|sort +4n -r|head -n 20

下面的是我做的一个例子,但是处理问题的时候没记录:
etl_1/home#k '{print "/proc/"$2"/fd/"$4}'|sed 's/[a-z]$//g'`|sort +4n -r|head -n 20                                              <
--w-------   0 sctbas   staff     465907331 Nov 25 12:21 /proc/4096158/fd/1
--w-------   0 sctbas   staff     465907331 Nov 25 12:21 /proc/4096158/fd/2
--w-------   0 sctbas   staff     189402543 Nov 25 12:21 /proc/1327254/fd/1
--w-------   0 sctbas   staff     189402543 Nov 25 12:21 /proc/1327254/fd/2
-rw-------   0 perfana  perfana    41659286 May 26 2009  /proc/2613500/fd/63
-rw-------   0 perfana  perfana    41659286 May 26 2009  /proc/958694/fd/63
-rw-------   0 perfana  perfana    35317654 Jul 06 10:23 /proc/3612722/fd/63
-rw-------   0 perfana  perfana    35317654 Jul 06 10:23 /proc/5046336/fd/63
-rw-------   0 perfana  perfana    35317654 Jul 06 10:23 /proc/7876640/fd/63
-rw-------   0 perfana  perfana    33642982 Aug 07 15:52 /proc/2285712/fd/63
-rw-------   0 perfana  perfana    33642982 Aug 07 15:52 /proc/3305516/fd/63
-rw-------   0 perfana  perfana    12932624 Aug 13 16:46 /proc/6184966/fd/63
-rw-------   0 perfana  perfana    12932624 Aug 13 16:46 /proc/6504692/fd/63
-rw-------   0 perfana  perfana    12664762 Jul 14 09:59 /proc/2601066/fd/63
-rw-------   0 perfana  perfana    12664762 Jul 14 09:59 /proc/6578256/fd/63
-rw-------   0 perfana  perfana    12664762 Jul 14 09:59 /proc/8601702/fd/63
-rw-------   0 perfana  perfana     9461552 Jul 22 17:49 /proc/6049922/fd/63
-rw-------   0 perfana  perfana     7897820 Jun 16 15:43 /proc/2334766/fd/63
-rw-------   0 perfana  perfana     7897820 Jun 16 15:43 /proc/6574124/fd/63
-rw-------   0 perfana  perfana     7897820 Jun 16 15:43 /proc/8188074/fd/63

etl_1/home#istat /proc/4096158/fd/1
Inode 950374 on device 10/9     Unallocated Inode
Owner: 210(sctbas)              Group: 1(staff)
Link count:   0         Length 465912813 bytes

Last updated:   Wed Nov 25 12:24:00 2009
Last modified:  Wed Nov 25 12:24:00 2009
Last accessed:  Thu Jul 16 18:23:18 2009

etl_1/home#fuser -dV /home
/home:
inode=119567 size=331280       fd=0      389298
inode=119588 size=42586        fd=0      479318
inode=119541 size=41659286     fd=0      958694
inode=119609 size=1611650      fd=0      991462
inode=119636 size=6050450      fd=0     1003592
inode=119594 size=65448        fd=0     1007704
inode=119577 size=2427958      fd=0     1110120
inode=119592 size=47544        fd=0     1122430
inode=119559 size=5732484      fd=0     1171602
inode=119605 size=529988       fd=0     1306846
inode=950376 size=189403509    fd=0     1327254
inode=119606 size=1379796      fd=0     1421428
inode=32831  size=26680        fd=0     1691848
inode=32970  size=27790        fd=0     1888480
inode=119572 size=323626       fd=0     1933326
inode=119603 size=38000        fd=0     1937646
inode=119590 size=34762        fd=0     2011360
inode=119579 size=2341738      fd=0     2019368
inode=119608 size=4377230      fd=0     2191578
inode=119604 size=137470       fd=0     2281518
inode=119569 size=33642982     fd=0     2285712
inode=119544 size=7897820      fd=0     2334766
inode=119563 size=1454234      fd=0     2375706
inode=119565 size=12664762     fd=0     2601066
inode=119541 size=41659286     fd=0     2613500
inode=119604 size=137470       fd=0     2895922
inode=32830  size=24710        fd=0     3010624
inode=119569 size=33642982     fd=0     3305516
inode=119602 size=279516       fd=0     3535020
inode=119558 size=35317654     fd=0     3612722
inode=119601 size=73680        fd=0     3629158
inode=119614 size=71660        fd=0     3645658
inode=119587 size=29788        fd=0     3809416
inode=950374 size=465909361    fd=0     4096158
inode=119577 size=2427958      fd=0     4440252
inode=119577 size=2427958      fd=0     4599916
inode=32970  size=27790        fd=0     4677708
inode=119643 size=202270       fd=0     5038326
inode=119558 size=35317654     fd=0     5046336
inode=119593 size=93828        fd=0     5136588
inode=119597 size=92418        fd=0     5202084
inode=119586 size=665136       fd=0     5541940
inode=119599 size=165500       fd=0     5722276
inode=119589 size=114688       fd=0     5730526
inode=119608 size=4377230      fd=0     5984458
inode=119568 size=9461552      fd=0     6049922
inode=119576 size=12932624     fd=0     6184966
inode=119596 size=104854       fd=0     6267018
inode=119576 size=12932624     fd=0     6504692
inode=119544 size=7897820      fd=0     6574124
inode=119565 size=12664762     fd=0     6578256
inode=119610 size=3555838      fd=0     6828074
inode=119608 size=4377230      fd=0     6848660
inode=119555 size=237330       fd=0     6922432
inode=32970  size=27790        fd=0     7082050
inode=119595 size=140268       fd=0     7102684
inode=119605 size=529988       fd=0     7143544
inode=119591 size=415352       fd=0     7241918
inode=119566 size=244322       fd=0     7336134
inode=119558 size=35317654     fd=0     7876640
inode=119591 size=415352       fd=0     8110100
inode=119600 size=21328        fd=0     8171656
inode=119544 size=7897820      fd=0     8188074
inode=119598 size=168380       fd=0     8564962
inode=119565 size=12664762     fd=0     8601702
inode=119607 size=256176       fd=0     8777740
inode=66849  size=65536        fd=0     8786012
inode=119544 size=7897820      fd=0     9416762
inode=32970  size=27790        fd=0     10227756

这里就可以看到,最大的文件为/proc/4096158/fd/1,该文件对应的inode为950374,该inode在fuser -dV的输出中存在,是个打开着而又被删除的文件
这里的文件名/proc/4096158/fd/1,第2位4096158就是其进程ID,将其KILL掉,磁盘空间就可以释放

另外,如果文件没有删除掉,可以用ncheck来查看inode和文件名的对应,但是删除的情况下,好像还没办法找到inode和原文件的对应关系

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/8242091/viewspace-620512/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/8242091/viewspace-620512/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值