JFFS2文件系统,存储使用与实际文件大小不一致



我使用spi-nor芯片并创建了一个16M的分区作为JFFS2 fs。我发现了一件奇怪的事情,我应该使用14M的存储空间,但是当我使用df检查时,它显示只使用了7M:

/ # df
Filesystem            1K-blocks       Used  Available Use% Mounted on
...
/dev/mtd7                 16384       7488       8896  46% /data
...

我复制了另一个2M文件到这个分区后:

/tmp # ls -l 
-rwxr-xr-x    1 0        0       Fri Jul 24 18:32:46 2015          2478144 asd

结果是只使用了1M的存储空间:

# df
Filesystem            1K-blocks       Used  Available Use% Mounted on
....
/dev/mtd1                 16384       8744       7640  53% /tmp
....

是否有人也发现了这个问题?

谢谢,

JFFS2默认使用文件系统压缩,因此分区上使用的空间不会反映文件大小的总和,因为文件是动态压缩的。这意味着它们的单个文件大小将反映它们未压缩的大小,但总体卷使用量将反映它们压缩后的大小。

来自维基百科上的JFFS2:

没有实际的方法来判断设备上还有多少可用的空闲空间,因为这取决于额外数据的压缩程度和写入顺序。

相关内容

  • 没有找到相关文章

最新更新