[发明专利]一种内存监控方法及相关装置有效
申请号: | 201210591865.0 | 申请日: | 2012-12-31 |
公开(公告)号: | CN103914363B | 公开(公告)日: | 2016-10-26 |
发明(设计)人: | 崔泽汉;陈明宇;陈荔城;陈明扬 | 申请(专利权)人: | 华为技术有限公司;中国科学院计算技术研究所 |
主分类号: | G06F11/30 | 分类号: | G06F11/30;G06F12/02 |
代理公司: | 深圳市深佳知识产权代理事务所(普通合伙) 44285 | 代理人: | 唐华明 |
地址: | 518129 广东*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 内存 监控 方法 相关 装置 | ||
技术领域
本发明涉及计算机领域,尤其涉及一种内存监控方法及相关装置。
背景技术
内存管理是影响系统性能的一个重要因素。现有计算机系统的内存管理模块主要负责内存单元的分配、回收和换入换出。“分配”负责在进程向计算机系统申请内存单元时,从空闲内存单元列表中挑选出合适的内存单元分配给进程。“回收”负责当进程释放内存单元时,将释放的内存单元重新放入空闲内存单元列表,并做适当的碎片整理。“换出”负责当物理内存不足时,将不紧急的进程数据或代码先存放到外存(磁盘等)上,从而把它们占用的内存单元腾出来给紧急的进程使用,或者交给计算机系统使用。“换入”负责在必要的时候,将已经换出的进程数据或代码写回已经空闲的内存单元中。
目前,“换出”在一定程度上考虑了实时的因素,如在硬件支持访问位(即reference bit)的情况下,通常的做法是,计算机系统定期将所有内存单元的reference bit清零,如果在一定周期内发生了对该内存单元的访问,则将其reference bit置一。这样在下次计算机系统对reference bit清零之前,如果reference bit为1,则表明该内存单元在过去一段时间有被访问。在选择内存单元换出时,优先考虑reference bit为0,即在过去一段时间未被访问的内存单元。但是考虑到将所有内存单元的reference bit清零所导致的性能开销,reference bit清零的周期会相对较长,因此实时性并不强。而且访问1次和访问10000次的表现是一样的,并不能真正反映reference bit的访问频度,而当未被访问的reference bit都被换出之后,即所有的reference bit都为1时,便只能随机挑选某些内存单元换出,若此时所换出的内存单元的访问频度较高,则将会对计算机系统的执行效率造成一定的影响,降低计算机系统的执行效率。
发明内容
本发明实施例提供了一种内存监控方法及相关装置,用于提高计算机系统的执行效率。
本发明实施例提供以下技术方案:
本发明第一方面提供了一种内存监控方法,包括:
获取计算机系统的内存单元访问信息,其中,上述内存单元访问信息包括:上述计算机系统的各个内存单元的被访问次数;
获取上述计算机系统的进程信息,其中,上述进程信息包括:上述计算机系统当前运行的进程的虚拟地址与物理地址的映射关系信息;
根据上述内存单元访问信息和上述进程信息生成监控信息,其中,上述监控信息包括:上述计算机系统当前运行的进程对上述各个内存单元的访问频繁度;
将上述监控信息反馈给上述计算机系统,以便上述计算机系统根据上述监控信息进行内存管理。
基于本发明第一方面,在第一种可能的实现方式中,上述获取计算机系统的内存单元访问信息,具体为:
监听上述计算机系统的内存总线,得到上述计算机系统的内存单元访问信息。
基于本发明第一方面的第一种可能的实现方式,在第二种可能的实现方式中,上述监听上述计算机系统的内存总线,具体为:
旁路监听上述计算机系统的内存总线。
基于本发明第一方面,或者本发明第一方面的第一种可能的实现方式,或者本发明第一方面的第二种可能的实现方式,在第三种可能的实现方式中,上述获取上述计算机系统当前运行的进程信息,包括:
检测上述计算机系统的特殊访存地址;
对检测到的上述特殊访存地址进行解码,得到上述计算机系统的进程信息,其中,上述特殊访存地址为上述计算机系统对上述进程信息进行编码生成。
基于本发明第一方面,或者本发明第一方面的第一种可能的实现方式,或者本发明第一方面的第二种可能的实现方式,或者本发明第一方面的第三种可能的实现方式,在第四种可能的实现方式中,上述监控信息还包括:上述统计信息,上述根据上述内存单元访问信息和上述进程信息生成监控信息,包括:
根据上述计算机系统的各个内存单元的被访问次数和上述进程信息生成上述计算机系统当前运行的进程对上述各个内存单元的访问频繁度;
将上述计算机系统的各个内存单元的被访问次数归类到Bank、Rank、内存条和内存通道中的一个或者多个,得到统计信息,其中,上述统计信息包括:上述Bank、Rank、内存条和内存通道中的一个或者多个的被访问次数。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华为技术有限公司;中国科学院计算技术研究所,未经华为技术有限公司;中国科学院计算技术研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201210591865.0/2.html,转载请声明来源钻瓜专利网。
- 上一篇:对虾用功能性饲料添加剂
- 下一篇:一种高活性发酵豆粕的生产方法