[发明专利]基于CPU寄存器的内存性能监控方法与装置有效
申请号: | 201310097941.7 | 申请日: | 2013-03-25 |
公开(公告)号: | CN103218285A | 公开(公告)日: | 2013-07-24 |
发明(设计)人: | 曹瑞;王雁鹏;王晓静;魏伟 | 申请(专利权)人: | 北京百度网讯科技有限公司 |
主分类号: | G06F11/34 | 分类号: | G06F11/34 |
代理公司: | 北京清亦华知识产权代理事务所(普通合伙) 11201 | 代理人: | 宋合成 |
地址: | 100085 北京市*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 cpu 寄存器 内存 性能 监控 方法 装置 | ||
技术领域
本发明涉及计算机科学技术领域,特别涉及一种基于CPU寄存器的内存性能监控方法与装置。
背景技术
随着计算机技术的发展,互联网的兴起,计算机的数据量呈爆炸式增长,因此需要更强大的计算能力作为支持。随之带来的是服务器产品越来越复杂,服务器产品涉及CPU、内存、SSD(Solid State Disk,固态硬盘)、硬盘、网卡等多种硬件部件。各硬件部件在性能、容量上发展不平衡,如果配置不当,将严重影响整机性能。因此如何针对不同类型的软件应用,选择合适的硬件配置,逐渐成为挑战。
为了针对不同类型的软件应用,选择合适的硬件配置,需要对服务器内存系统需求进行评定。评定内容除了传统的容量需求,还需对服务器内存使用情况进行监控。
现有技术对于内存使用情况的监控一般有两种方法,下面以目前使用广泛的X86服务器为例对这两种方法进行介绍:
(一)、采用操作系统中提供的命令进行监控,如top、free等命令。
(二)、通过内存的标称值直接得到,或通过公式:内存性能=内存工作频率X内存总线宽度/8计算得到内存性能。
然而,现有方案有如下缺点:
对于第一种方案,虽然可以做到实时监控,但是只限于对于内存的使用量进行监控,而没有对内存性能进行实时监控。
对于第二种方案,得到的结果只是理论的数值,而非实时监控的结果。无法对不同的应用程序检测内存的性能,得到实际的使用情况,因此导致内存性能没有完全发挥或者已经发挥到极限的现象。
同时,现有的内存带宽分析技术仅基于内存的频率,无法实时获取在实际应用情况下内存的读写带宽。
发明内容
本发明旨在至少解决现有技术中存在的技术问题之一。
为此,本发明的一个目的在于提出一种基于CPU寄存器的内存性能监控方法,基于CPU,实时监控内存性能,从而为内存选型提供有效的指导建议,降低成本,提高工作效率。
本发明的第二个目的在于提出一种基于CPU寄存器的内存性能监控装置.
为达到上述目的,本发明第一方面的实施例提出了一种基于CPU寄存器的内存性能监控方法,包括如下步骤:检测CPU的类型;根据所述CPU的类型获取单位时间内的CPU的三级缓存缺失次数、三级缓存回写次数和缓存长度;根据所述三级缓存缺失次数、三级缓存回写次数和缓存长度计算所述CPU的内存实时读写宽度。
根据本发明实施例的基于CPU寄存器的内存性能监控方法检测CPU的类型,获取CPU的三级缓存的缺失次数、回写次数和缓存长度,计算出CPU内存实时读写宽度。根据本发明的实施例能够与x86CPU兼容,并能够对内存性能的实际使用情况进行实时监控,丰富了CPU内存监控的内容。能够更好的指导内存的选型,为不同应用程序定制内存型号,提高了效率,节省了成本。
在本发明的一个实施例中,当检测到CPU的类型为WESTMERE_EP或NEHALEM_EP时,利用MSR_UNCORE_PerfCntr n寄存器作为计数器,其中,每个MSR_UNCORE_PerfCntr n寄存器对应一个MSR_UNCORE_PerfEvtSelx配置寄存,MSR_UNCORE_PerfEvtSelx寄存器包括功能掩码位和功能选择位,通过读取功能选择位中的相应位分别获取三级缓存的写操作次数和读操作次数,以及通过读取功能掩码位中的相应位获取对于DRAM的操作;根据三级缓存的写操作次数和读操作次数和对于DRAM的操作控制对三级缓存的读写操作次数进行记录;通过读取MSR_UNCORE_PerfCntr n中的值获得相应的读写次数。
在本发明的一个实施例中,当检测到CPU的类型为NEHALEM_EX或NEHALEM_EX时,利用M-Box中的控制计数单元MSR_M0_PMON_CTR0和MSR_M1_PMON_CTR对读操作计数和控制;利用B-Box中的控制计数单元MSR_B0_PMON_CTR1和MSR_B1_PMON_CTR1写操作计数和控制;通过读取功能选择位中的相应位分别获取三级缓存的写操作次数和读操作次数,以及通过读取功能掩码位中的相应位获取对于DRAM的操作;根据三级缓存的写操作次数和读操作次数和对于DRAM的操作控制对三级缓存的读写操作次数进行记录;通过读取M-Box和B-Box的值获得相应的读写次数。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京百度网讯科技有限公司,未经北京百度网讯科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310097941.7/2.html,转载请声明来源钻瓜专利网。
- 上一篇:树脂成形品及其制造方法
- 下一篇:一种具有热闭孔功能的电纺复合隔膜