df -h
粘贴分区的输出/mtd_rwarea
:
$ df -h
Filesystem Size Used Available Use% Mounted on
/dev/mmcblk0p16 150.0M 138.5M 11.5M 92% /mtd_rwarea
但目录里什么也没有。目录/mtd_rwarea
为空。ls -la
该分区的输出:
ls -la
drwxr-xr-x 1 root 0 2 Jan 1 00:01 .
drwxrwxrwx 26 root 0 693 Aug 16 2012 ..
有人可以帮助理解这可能是什么原因吗?
谢谢!
答案1
如果重新启动后回收了空间,则差异很可能是由于使用打开的处理程序删除了文件。
使用 lsof 查看是否有已删除的文件仍然打开。一些应用程序(例如 MySQL)因在这方面的行为不当而臭名昭著,它们会在不关闭文件处理程序的情况下取消临时文件的链接。
答案2
有几个原因可能会导致这种情况,我所知道的原因按我想到的顺序排列:
- 当您在目录中时挂载\卸载文件系统会在执行 ls 之类的操作时为您提供过时的信息。
- 如果一个目录附加了两个挂载点,则最后一个挂载点是有效挂载点。
- 文件系统有时会保留一定比例的空间供 root 用户使用,在某些版本中,它显示为已用空间(可以使用 dumpe2fs 在 extX 上找到)。
- 发生错误,文件被取消链接并且数据块未被正确释放(使用 fsck 修复)。
- 创建文件系统时,它是使用高索引节点/块比率创建的,这导致索引节点空间看起来已分配。
考虑到文件系统是空的,我会重新创建它。
但是,如果您可以粘贴 dumpe2fs(不带阻止列表)来找出哪个理论是正确的(如果有的话),我会很高兴。