当安装没有“ ”选项的设备时sync
,例如通过调用以下命令:
mount -o async /dev/sdc1 /mnt
缓冲区与设备相关联,以优化(加速)读/写操作。有没有办法确定这个缓冲区的大小?我想到的另一个问题是,是否有可能找出当前使用了多少缓冲区。确定“”sync
或“ umount
”慢速设备(例如基于闪存的介质)所需的时间可能会很有趣。
提前感谢您的回答,Rainer
答案1
没有固定的大小。我熟悉的所有系统(我确信 Linux 是这样的,我认为所有 Unix 甚至 Windows 都是这样工作的)都会将尽可能多的内存用于磁盘缓存:读取缓存大小仅受可用 RAM 和将进程内存也保留在 RAM 中的需要的限制。
vmstat
or命令top
可能会打印一些内存使用情况统计信息。在 Linux 上,free
更易读。它显示了用于磁盘缓存的内存量与用于进程内存的内存量。
写入缓冲区也没有固定的限制;何时刷新它们的决定更多地取决于时间和磁盘负载,而不是大小。