Linux的page cache使用情况/命中率查看和操控

这里总结几个Linux文件缓存(page cache)使用情况、命中率查看的工具。

perf-tools里面的cachestat

来自于大名鼎鼎的Brendan Gregg的cachestat,已经被加到他的perf-tools

http://www.brendangregg.com/blog/2014-12-31/linux-page-cache-hit-ratio.html


pcstat(page cache stat)

来自https://github.com/tobert/pcstat,这里的pc不是电脑的意思,是page cache的意思,可以查看文件里面有多少在内存命中:


vmtouch(Virtual Memory Toucher)

这个是page cache的查看和操控工具,来自https://hoytech.com/vmtouch/

例子:

它还可以touch文件,例如:访问big-dataset.txt并且把它的内容带入memory:


(完)

Linuxer是专业的Linux及系统软件技术交流社区,Linux系统人才培养基地,企业和Linux人才的连接枢纽。


查看我们精华技术文章请移步:

Linuxer精华文章汇总


求职招聘请移步:

Linuxer: 连接企业和Linux人才的platform总线


扫描二维码关注我们 

如果觉得好,请

转发

转发

转发



Linux系统中,查看缓存命中率主要涉及对系统内存使用情况的监控以及使用性能分析工具如 `perf` 来获取更详细的缓存访问信息。以下是一些常用方法: ### 使用 `free` 命令查看内存使用情况 `free` 命令可以显示系统中物理虚拟内存的使用情况,包括缓存(cache)占用的空间。 ```bash free -m ``` 该命令会输出类似以下的信息: ``` total used free shared buff/cache available Mem: 7983 1234 567 89 6182 6400 Swap: 2047 0 2047 ``` 其中 `buff/cache` 行表示的是系统中用于缓冲区缓存的内存量。虽然 `free` 命令不能直接提供缓存命中率的数据,但它可以帮助了解缓存占用的整体情况[^1]。 ### 使用 `vmstat` 命令监控页面置换活动 `vmstat` 是一个报告虚拟内存统计信息的工具,它可以用来观察系统的整体内存使用情况,包括页面交换活动,从而间接反映缓存效率。 ```bash vmstat -s | grep 'page' ``` 此命令将列出与页面相关的统计数据,例如页面换入换出次数等。频繁的页面换入换出可能意味着较低的缓存命中率。 ### 使用 `perf` 工具进行详细缓存性能分析 对于更具体的缓存命中率分析,特别是针对CPU缓存(如L1、L2、L3),可以使用 `perf` 工具。它能够提供关于缓存未命中的详细数据。 要测量 LLC (Last Level Cache) 的加载失误率,可以运行如下命令: ```bash perf stat -e LLC-loads,LLC-load-misses,LLC-stores,LLC-store-misses -a sleep 10 ``` 此命令将会持续10秒,并在此期间收集所有处理器上的LLC事件统计数据。输出结果将包含加载存储操作中的缓存命中与未命中次数,进而计算出缓存命中率[^2]。 ### 编写脚本自动化监控 为了定期检查并记录这些指标,可以编写简单的 shell 脚本来自动化执行上述命令,并将结果保存到日志文件中以便后续分析。 ```bash #!/bin/bash while true; do echo "Current time: $(date)" perf stat -e LLC-loads,LLC-load-misses,LLC-stores,LLC-store-misses -a -- sleep 1 >> /path/to/logfile.log sleep 5 # 每隔5秒执行一次 done ``` 这个脚本将持续每5秒钟运行一次 `perf` 统计,并把结果追加写入指定的日志文件中。 通过以上方法,可以在Linux设备上有效地监控评估缓存命中率,进而优化应用程序或系统的性能表现。 ---
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值