获取缓存命中率(读/写)

获取缓存命中率(读/写)

有没有办法可以找出 Red Hat Linux 服务器(64 位)的读/写缓存命中率?

我尝试使用 sar (9.x),但找不到它。原因是,因为我正在迁移到另一台服务器,所以我需要知道使用 RAID 控制器的最佳配置方法是什么iops 计算器

答案1

您可以尝试缓存状态实用工具性能工具包裹。

作者还列出了一些人们使用的(可能更粗糙的)替代方法:

A) 使用 iostat(1) 监控磁盘读取,研究页面缓存未命中率,并假设这些是缓存未命中,而不是 O_DIRECT。无论如何,未命中率通常比比率更重要,因为未命中与应用程序的痛苦成正比。还可以使用 free(1) 查看缓存大小。

B) 删除页面缓存 (echo 1 > /proc/sys/vm/drop_caches),并测量性能下降了多少!我喜欢使用负面实验,但这当然是一种揭示缓存使用情况的痛苦方式。

C) 使用 sar(1) 并研究小故障和大故障。我认为这行不通(例如,常规 I/O)。

D) 使用 cache-hit-rate.stp SystemTap 脚本,这是在互联网上搜索 Linux 页面缓存命中率时排名第二的脚本。它在堆栈的 VFS 接口中检测缓存访问,以便可以看到对任何文件系统或存储设备的读取。缓存未命中是通过其磁盘 I/O 来测量的。这还会错过一些工作负载类型(一些在该页面的“课程”中提到),并将比率称为“速率”。

相关内容