最近遇到几次类似的问题,第一次是在HP-UNIX上,df命令查看到的文件系统已用空间和du命令查到的结果差距很大,后来发现原因应该是oralce删除了数据文件,但oracle并没有停掉,没有释放文件描述符导致的。重启oracle实例问题解决了
第二次是在AIX上, df显示文件系统用了几十个G,但du命令看到目录只占用了10个G。后来重新挂载了一下相应的文件系统,问题解决了。重新挂载之后,多出了许多文件,原来都看不到。
第三次也是在AIX上,df -g 显示文件系统利用率很高,但du 却找不到大文件,于是使用fuser -dV /xx/xxx/xxx 查看,输出类似如下:
xx/xxx/xxx
inode=11664 size=20202222 fd=180 19759210
其中19759210是对应进程的pid,文件被删除之后,该进程仍然保持着该对文件打开状态,因此重启该进程解决了该问题。
希望遇到类似问题的朋友能有个参考。