Skip to content

Repeerc/memPerfMon

Repository files navigation

MemPerfMon

Windows 平台 Intel CPU 内存带宽实时监控工具,通过 Ring0 驱动直接读取 IMC(Integrated Memory Controller)性能计数器,实时计算当前内存速率。

image

环境要求

  • Windows 64-bit
  • Intel CPU(Family 6:Skylake ~ Phoenix Lake)
  • 管理员权限
  • 需要安全中心关闭“Microsoft 易受攻击的驱动程序阻止列表”

文件

文件 说明
mempref_cli.py 命令行版本,实时输出读写吞吐量
mempref_gui.py 悬浮窗 GUI 版本
WinRing0x64.sys / .dll WinRing0 驱动,提供 PCI 访问
asmmap64.sys / .dll 物理内存映射驱动

使用

# CLI
python mempref_cli.py

# GUI
python mempref_gui.py

输出示例:

Total: 1.234 GB, Read: 0.890 GB, Write: 0.344 GB; Access Speed: 5.678 GB/s, Read Speed: 4.012 GB/s, Write Speed: 1.666 GB/s

支持平台

当前仅支持非服务器Intel平台

工作原理

  1. WinRing0 驱动 → 执行 CPUID 获取 CPU 型号,读取 PCI 配置空间获取 MCHBAR(IMC 寄存器基址)
  2. ASMMAP 驱动 → 将 MCHBAR 物理地址映射到用户态虚拟地址
  3. 每秒从 IMC 计数器寄存器读取 DRAM 读/写次数,换算为字节吞吐量

About

Windows 平台 Intel CPU 内存带宽实时监控工具,通过 Ring0 驱动直接读取 IMC(Integrated Memory Controller)性能计数器,实时计算当前内存速率。

Topics

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors