要通过 CentOS 的 cpustat 工具监控 CPU 缓存命中率,你需要先确保已安装了 sysstat 包,因为 cpustat 是这个包的一部分。如果尚未安装,请按照以下步骤操作:
安装 sysstat:
使用 yum 安装 sysstat 包:
sudo yum install sysstat
启用 perf_event_paranoid 设置:
为了使用某些性能监控功能,可能需要调整内核参数 perf_event_paranoid。你可以通过以下命令临时将其设置为 -1(允许非特权用户访问 perf_event):
sudo sysctl -w kernel.perf_event_paranoid=-1
如果希望永久更改此设置,请编辑 /etc/sysctl.conf 文件并添加以下行:
kernel.perf_event_paranoid=-1
然后运行 sudo sysctl -p 使更改生效。
使用 cpustat 监控缓存命中率:
cpustat 默认情况下不显示缓存命中率,但你可以通过指定 -e 选项来显示包括 L1、L2 和 L3 缓存的详细信息。运行以下命令:
sudo cpustat -e 1
这将每秒更新一次 CPU 的详细性能指标,包括缓存命中率。
解析缓存命中率:
在 cpustat 的输出中,你可以找到以下列:
L1-dcache: L1 数据缓存命中率L1-icache: L1 指令缓存命中率L2-cache: L2 缓存命中率L3-cache: L3 缓存命中率这些列显示了各自的命中率百分比。
持续监控:
如果你想持续监控缓存命中率,可以将 cpustat 命令放入一个循环中,并适当增加延迟时间。例如,每 5 秒更新一次:
while true; do sudo cpustat -e 5; sleep 5; done
请注意,cpustat 提供的缓存命中率数据是基于采样和估算的,可能不是 100% 准确。对于更精确的测量,你可能需要使用其他工具或方法,如 perf 或直接读取 /proc/stat 文件。