基于CPU寄存器的内存性能监控方法与装置制造方法及图纸

技术编号:8959337 阅读:182 留言:0更新日期:2013-07-25 18:54
本发明专利技术提出一种基于CPU寄存器的内存性能监控方法,包括如下步骤:检测CPU的类型;根据CPU的类型获取单位时间内的CPU的三级缓存缺失次数、三级缓存回写次数和缓存长度;根据三级缓存缺失次数、三级缓存回写次数和缓存长度计算CPU的内存实时读写宽度。本发明专利技术能够实时监控内存性能,从而为内存选型提供有效的指导建议,从而控制成本,提高工作效率。本发明专利技术还公开了一种基于CPU寄存器的内存性能监控装置。

【技术实现步骤摘要】

本专利技术涉及计算机科学
,特别涉及一种基于CPU寄存器的内存性能监控方法与装置
技术介绍
随着计算机技术的发展,互联网的兴起,计算机的数据量呈爆炸式增长,因此需要更强大的计算能力作为支持。随之带来的是服务器产品越来越复杂,服务器产品涉及CPU、内存、SSD (Solid State Disk,固态硬盘)、硬盘、网卡等多种硬件部件。各硬件部件在性能、容量上发展不平衡,如果配置不当,将严重影响整机性能。因此如何针对不同类型的软件应用,选择合适的硬件配置,逐渐成为挑战。为了针对不同类型的软件应用,选择合适的硬件配置,需要对服务器内存系统需求进行评定。评定内容除了传统的容量需求,还需对服务器内存使用情况进行监控。现有技术对于内存使用情况的监控一般有两种方法,下面以目前使用广泛的X86服务器为例对这两种方法进行介绍:(一)、采用操作系统中提供的命令进行监控,如top、free等命令。(二)、通过内存的标称值直接得到,或通过公式:内存性能=内存工作频率X内存总线宽度/8计算得到内存性能。然而,现有方案有如下缺点:对于第一种方案,虽然可以做到实时监控,但是只限于对于内存的使用量进行监控本文档来自技高网...

【技术保护点】
一种基于CPU寄存器的内存性能监控方法,其特征在于,包括如下步骤:检测CPU的类型;根据所述CPU的类型获取单位时间内的CPU的三级缓存缺失次数、三级缓存回写次数和缓存长度;以及根据所述三级缓存缺失次数、三级缓存回写次数和缓存长度计算所述CPU的内存实时读写宽度。

【技术特征摘要】
1.一种基于CPU寄存器的内存性能监控方法,其特征在于,包括如下步骤: 检测CPU的类型; 根据所述CPU的类型获取单位时间内的CPU的三级缓存缺失次数、三级缓存回写次数和缓存长度;以及 根据所述三级缓存缺失次数、三级缓存回写次数和缓存长度计算所述CPU的内存实时读写宽度。2.如权利要求1所述的方法,其特征在于,当检测到CPU的类型为WESTMERE_EP或NEHALEM_EP时,利用MSR_UNCORE_PerfCntr η寄存器作为计数器, 其中,每个MSR_UNCORE_PerfCntr η 寄存器对应一个MSR_UNCORE_PerfEvtSelx 配置寄存,MSR_UNCORE_PerfEvtSelx寄存器包括功能掩码位和功能选择位, 通过读取功能选择位中的相应位分别获取三级缓存的写操作次数和读操作次数,以及通过读取功能掩码位中的相应位获取对于DRAM的操作; 根据三级缓存的写操作次数和读 操作次数和对于DRAM的操作控制对三级缓存的读写操作次数进行记录; 通过读取MSR_UNCORE_PerfCntr η中的值获得相应的读写次数。3.如权利要求1所述的方法,其特征在于,当检测到CPU的类型为NEHALEM_EX或NEHALEM_EX 时, 利用M-Box中的控制计数单元MSR_M0_PM0N_CTR0和MSR_M1_PM0N_CTR对读操作计数和控制; 利用B-Box中的控制计数单元MSR_B0_PM0N_CTR1和MSR_B1_PM0N_CTR1写操作计数和控制; 通过读取功能选择位中的相应位分别获取三级缓存的写操作次数和读操作次数,以及通过读取功能掩码位中的相应位获取对于DRAM的操作; 根据三级缓存的写操作次数和读操作次数和对于DRAM的操作控制对三级缓存的读写操作次数进行记录; 通过读取M-Box和B-Box的值获得相应的读写次数。4.如权利要求1所述的方法,其特征在于,当检测到CPU的类型为SandyBridge-EP时, 利用_ap函数将所述CPU不同的通道根据其基地址映射至内存,对于被映射的通道,利用对应的PmonCntr_0和PmonCntr_l两个地址空间作为读写计数器,其中,所述PmonCntr_0地址空间的功能通过PmonCntrCfg_0寄存器指定,所述PmonCntr_l地址空间的功能通过PmonCntrCfg_l寄存器指定,其中,PmonCntrCfg_x包括功能掩码位和功能选择位; 通过读取功能选择位中的相应位对读写次数进行记录,以及通过读取功能掩码位中的相应位获取三级缓存的读操作次数和写操作次数; 根据读写次数和和三级缓存的读操作次数和写操作次数从通道中获得读写三次缓存的次数。5.如权利要求1所述的方法,其特征在于,所述根据所述三级缓存缺失次数、三级缓存回写次数和缓存长度计算所述CPU的内存实时读写宽度,包括如下步骤: 将所述三级缓存缺失次数、三级缓存回写次数与所述缓存长度进行乘法运算得到所述CPU的内存实时读写宽度。6.一种基于CPU...

【专利技术属性】
技术研发人员:曹瑞王雁鹏王晓静魏伟
申请(专利权)人:北京百度网讯科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1