雪剑20 发表于 2012-05-22 19:12

Solaris文件系统大小异常

各位大佬,请教一个问题:
Solaris系统,远程mount(nfs)一个文件系统,大小大概为900G,用df -k显示已经用了800多个G,用了92%差不多
但是我通过du -sk * 查看了一下,发现最多也就用了300G,不知道那500个G到哪里去了?

不知道有谁遇到过类似的问题呢?最后如何解决的呢?

有几个疑问:
1.du -sk * 是不是也会查出隐藏文件的大小的?
2.会不会这个文件系统里面再挂载其他文件系统?。。。

感谢

earwig 发表于 2012-05-24 09:38

用 du -sh *.* 才会查隐藏文件吧

milujite 发表于 2012-05-24 14:08

本帖最后由 milujite 于 2012-05-24 14:08 编辑

某些文件本身已经被删除了,但是某些进程还是持有文件FD,也就是说该文件实质上并未删除。du和df的统计方式不一样,所以有这种差异。

qianxia0_ 发表于 2012-05-26 01:07

不排除小文件太多需要碎片整理一下的可能性

znnnz 发表于 2012-05-28 14:22

df和du不一致的bug

yzfs13 发表于 2012-05-28 17:44

3楼正解~~~

wenhq 发表于 2012-05-29 15:21

认同。。
milujite 发表于 2012-05-24 14:08 static/image/common/back.gif
某些文件本身已经被删除了,但是某些进程还是持有文件FD,也就是说该文件实质上并未删除。du和df的统计方式 ...

znnnz 发表于 2012-05-30 10:56

本版好像有人发过这个说明

milujite 发表于 2012-06-01 17:10

本帖最后由 milujite 于 2012-06-01 17:14 编辑

znnnz 发表于 2012-05-30 10:56 static/image/common/back.gif
本版好像有人发过这个说明

这种问题不管是LINUX还是SOLAIRS板块问的人都好多,而且都讨论烂了~好多人GOOGLE都不愿意用的。唉
理解Linux和Unix的机制就很容易明白这事了。UNIX和Linux认为一个文件删除都是有条件的,不仅文件link为0,还要未被任何进程打开,因此rm一个文件不一定删除了文件,因为该文件可能被某进程执行open调用了。
页: [1]
查看完整版本: Solaris文件系统大小异常