有没有办法在Linux中获得块设备的Cache HitMiss比率?

有没有办法在Linux中获得块设备的Cache HitMiss比率?,第1张

概述是否有可能在 Linux中看到有多少来自用户空间的读写请求最终导致块设备的缓存命中和未命中? 您可以开发自己的 SystemTap脚本.您需要考虑以下两个子系统: > VFS:这表示缓冲区缓存之前的所有I / O请求(即绝对每个I / O请求);检查“vfs.read”,“vfs.write”和“kernel.function(”vfs_ *“)”探针;您需要按照各自的主要次要编号筛选出要监视的块 是否有可能在 Linux中看到有多少来自用户空间的读写请求最终导致块设备的缓存命中和未命中?解决方法 您可以开发自己的 SystemTap脚本.您需要考虑以下两个子系统:

> VFS:这表示缓冲区缓存之前的所有I / O请求(即绝对每个I / O请求);检查“vfs.read”,“vfs.write”和“kernel.function(”vfs_ *“)”探针;您需要按照各自的主要次要编号筛选出要监视的块设备.
> Block:这表示在I / O调度程序之前发送到块设备的所有I / O请求(它也会合并I / O请求的重新排序);在这里我们知道缓冲区缓存错过了哪些请求;查看“ioblock.request”探测器.

SystemTap开发需要一些时间来学习.如果您是一名温和的开发人员并且熟悉linux,那么您应该在3-4天内完成.是的,学习需要时间,但您对结果非常满意 – SystemTap让您有机会(安全地)将探针放在linux内核的几乎任何位置.

请注意,您的内核必须支持加载和卸载内核模块.现在大多数库存内核都支持这一点.您还需要为内核安装调试符号.对于我的Ubuntu系统,这就像下载几百MB的.deb文件一样简单,Ubuntu内核开发团队为我编译了这个文件.例如,这在SystemtapOnUbuntu Wiki页面上进行了解释.

附:只有在没有其他解决方案的情况下才采用SystemTap方法,因为这是一个全新的框架,您必须学习,这需要花费时间/金钱,有时甚至是挫败感.

总结

以上是内存溢出为你收集整理的有没有办法在Linux中获得块设备的Cache Hit / Miss比率?全部内容,希望文章能够帮你解决有没有办法在Linux中获得块设备的Cache Hit / Miss比率?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/1045392.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-24
下一篇 2022-05-24

发表评论

登录后才能评论

评论列表(0条)

保存