为什么 Unix 块大小会随着内存大小的增加而增加?

Why does Unix block size increase with bigger memory size?

我正在分析具有

的二进制数据

unix 块大小是一种动态度量。 我对为什么它在某些系统中随着更大的内存单元而增加感兴趣。 我有一个想法,它应该是不变的。 我使用不同的环境来提供 stat 输出:

Greybeard 的评论可能对块行为有答案:

The stat (1) command used to be a thin CLI to the stat (2) system call, which used to transfer relevant parts of a file's inode. Pretty early on, the meaning of the st_blksize member of the C struct returned by stat (2) was changed to "preferred" blocksize for efficient file system I/O, which carries well to file systems with mixed block sizes or non-block oriented allocation.

如何分别测量情况 (1) 和 (2) 的块大小?

为什么 Unix 块大小可以随着内存大小的增加而增加?

"Stat blocks" 不是块大小。它是文件组成的块数。很明显,块的数量与大小成正比。大多数文件系统(如果不是全部)的块大小是恒定的。