关于亚马逊实例的磁盘 cache/performance 问题

disk cache/performance question on amazon instances

我观察到 EC2 实例上的某些行为,我认为这是由磁盘缓存引起的。基本上: 我有一个计算任务需要按顺序访问大量数据(~60 个 1GB 文件)。我已将这些文件包含在我的亚马逊图片中。我还使用 mpi 启动 ~30 个进程来同时访问不同的文件。顺便说一句,该程序受计算限制,但磁盘 IO 占用了相当多的 运行 时间。我注意到当我启动实例并在第一次尝试时执行计算时,它非常慢。 top 命令将显示进程不时挂起,cpu 使用率约为 60%。但是,一旦 运行 完成,如果我开始另一个 运行,它会快得多并且 cpu 大约是 99%。那是因为我的数据仍然在网络驱动器 (EBS) 上并且自动加载到本地实例磁盘缓存(SSD 驱动器?)?我 运行 它在 C5n.18xlarge 上,但它仅列为 EBS。 有没有人有类似的经历?或者其他解释?

几乎可以肯定是磁盘缓存,但在 RAM 中,而不是本地 SSD。

c5.18xl 实例类型有 192 GB RAM。因此,根据您对该 RAM 的其他操作,您的 60 GB 数据文件完全有可能被读入缓存并且永远不会离开。

更多信息:https://www.tldp.org/LDP/sag/html/buffer-cache.html