我有一个file
,我想知道它的大小。在计算机 1 上,我得到:
$ ls -lh file
> -rw-r--r--. 1 user group 441 May 30 15:41 file
在计算机2上,我得到
$ ls -lh file
> -rw-r--r--. 1 user group 441 May 30 15:41 file
好的。他们同意。文件大小为 441 字节。但现在我du
在计算机1上使用:
$ du -h file
> 1.0K file
在计算机 2 上:
$ du -h file
> 32K file
他们为什么不同意呢?我认为它与文件系统上的簇大小有关。现在,一个包含多个子文件夹和文件且总大小为数百兆字节的文件夹在计算机 2 上大约是计算机 1 上的两倍。为什么要使用计算机 2 上的簇大小?它将占用更多的空间,具体取决于典型的文件大小。
计算机 1 上的文件系统是 afs,计算机 2 上的文件系统是 nfs。
答案1
访问时间较慢的存储设备(例如示例中的 NFS)上的块大小,或者存储需要高性能的数据的存储设备(例如事务数量非常多的数据库表)需要/需要具有更大块的文件系统大小以最小化磁盘 I/O,从而最大程度地减少 I/O 性能造成的延迟。因此,块大小越大,每个文件末尾出现“松弛”空间(即浪费空间)的可能性就越高。