在 Ubuntu 系统中,cpustat 是一个用于显示 CPU 统计信息的工具,通常作为 sysstat 包的一部分提供。要查看 CPU 缓存命中率,可以使用 mpstat 命令,它是 sysstat 包中的一个工具。
以下是如何使用 mpstat 来查看 CPU 缓存命中率的步骤:
安装 sysstat 包(如果尚未安装):
sudo apt update
sudo apt install sysstat
使用 mpstat 查看缓存命中率:
mpstat 默认情况下可能不会显示缓存命中率,但可以通过添加 -P ALL 选项来查看所有 CPU 的详细信息,包括缓存命中率。
运行以下命令:
mpstat -P ALL 1
这个命令会每秒更新一次所有 CPU 的统计信息。输出中包含了一些缓存命中率的指标,例如:
plt: 每秒从 L3 缓存加载的累计次数。drt: 每秒从 DRAM 加载的累计次数。要计算缓存命中率,你可以关注 L1d_misses, L1d_hits, L2_misses, L2_hits, L3_misses, 和 L3_hits 这些字段。缓存命中率通常可以通过以下公式计算:
请注意,mpstat 默认情况下可能不会显示所有这些详细字段,你可能需要查看更详细的输出或者使用其他工具(如 perf)来获取完整的缓存命中率信息。
使用 perf 工具(可选):
如果你需要更详细的 CPU 性能分析,可以使用 perf 工具。perf 是 Linux 内核自带的性能分析工具,可以提供非常详细的 CPU 缓存命中率信息。
安装 perf:
sudo apt install linux-tools-common linux-tools-generic linux-tools-$(uname -r)
使用 perf stat 命令来查看缓存命中率:
sudo perf stat -e L1-dcache-load-misses,L1-dcache-loads,L2-dcache-load-misses,L2-dcache-loads,L3-dcache-load-misses,L3-dcache-loads sleep 1
这个命令会在 1 秒内统计 L1、L2 和 L3 缓存的加载未命中和加载次数,你可以根据这些数据计算命中率。
请记住,缓存命中率的计算可能会因系统和硬件的不同而有所差异,因此最好参考你的 CPU 文档来了解具体的缓存架构和性能指标。