如何确定设备关联缓冲区的使用大小

如何确定设备关联缓冲区的使用大小

当安装没有“ ”选项的设备时sync,例如通过调用以下命令:

mount -o async /dev/sdc1 /mnt

缓冲区与设备相关联,以优化(加速)读/写操作。有没有办法确定这个缓冲区的大小?我想到的另一个问题是,是否有可能找出当前使用了多少缓冲区。确定“”sync或“ umount”慢速设备(例如基于闪存的介质)所需的时间可能会很有趣。

提前感谢您的回答,Rainer

答案1

没有固定的大小。我熟悉的所有系统(我确信 Linux 是这样的,我认为所有 Unix 甚至 Windows 都是这样工作的)都会将尽可能多的内存用于磁盘缓存:读取缓存大小仅受可用 RAM 和将进程内存也保留在 RAM 中的需要的限制。

vmstator命令top可能会打印一些内存使用情况统计信息。在 Linux 上,free更易读。它显示了用于磁盘缓存的内存量与用于进程内存的内存量。

写入缓冲区也没有固定的限制;何时刷新它们的决定更多地取决于时间和磁盘负载,而不是大小。

相关内容