CN103309698A - 虚拟机内存管理系统及方法 - Google Patents
虚拟机内存管理系统及方法 Download PDFInfo
- Publication number
- CN103309698A CN103309698A CN2012100700391A CN201210070039A CN103309698A CN 103309698 A CN103309698 A CN 103309698A CN 2012100700391 A CN2012100700391 A CN 2012100700391A CN 201210070039 A CN201210070039 A CN 201210070039A CN 103309698 A CN103309698 A CN 103309698A
- Authority
- CN
- China
- Prior art keywords
- virtual machine
- freememory
- memory
- internal memory
- discharges
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Memory System (AREA)
Abstract
一种虚拟机内存管理系统,该系统包括:查询模块,用于当用户请求分配内存而计算设备内存不足时,查询各个虚拟机的闲置内存;计算模块,用于判断所有虚拟机的总闲置内存是否小于请求分配的内存;标签模块,用于当所述总闲置内存大于等于请求分配的内存时,对各个虚拟机的闲置内存加上标签;释放模块,用于计算各个虚拟机的平均释放内存,根据该平均释放内存释放各个虚拟机的闲置内存;及去除模块,用于去除加在各个虚拟机的闲置内存的标签。本发明还提供一种虚拟机内存管理方法。本发明能够降低虚拟机的内存闲置率,提高虚拟机效能。
Description
技术领域
本发明涉及一种云计算系统及方法,特别是关于一种虚拟机内存管理系统及方法。
背景技术
内存是计算设备的重要硬件资源,为了实现优化利用内存,提出了许多内存管理技术,例如虚拟内存(virtual memory)的交换(swap)机制。在虚拟机应用中,如何使一台物理主机的内存有效分配给每台虚拟机,让每台虚拟机的闲置内存降到最低,内存管理机制是个关键。现有的虚拟机内存管理方法在内存不足时只对个别虚拟机释放内存,不能充分利用各个虚拟机的闲置内存。
发明内容
鉴于以上内容,有必要提供一种虚拟机内存管理系统,能够降低虚拟机的内存闲置率,提高虚拟机效能。
此外,还有必要提供一种虚拟机内存管理方法,能够降低虚拟机的内存闲置率,提高虚拟机效能。
一种虚拟机内存管理系统,运行于计算设备中,该计算设备安装有多个虚拟机,该系统包括:查询模块,用于当用户请求分配内存而计算设备内存不足时,查询各个虚拟机的闲置内存;计算模块,用于根据各个虚拟机的闲置内存计算所有虚拟机的总闲置内存,并判断所述总闲置内存是否小于请求分配的内存;标签模块,用于当所述总闲置内存大于等于请求分配的内存时,对各个虚拟机的闲置内存加上标签;释放模块,用于计算各个虚拟机的平均释放内存,根据该平均释放内存释放各个虚拟机的闲置内存;及去除模块,用于去除加在各个虚拟机的闲置内存的标签。
一种虚拟机内存管理方法,应用于计算设备中,该计算设备安装有多个虚拟机,该方法包括:查询步骤,当用户请求分配内存而计算设备内存不足时,查询各个虚拟机的闲置内存;计算步骤,根据各个虚拟机的闲置内存计算所有虚拟机的总闲置内存,并判断所述总闲置内存是否小于请求分配的内存;标签步骤,若所述总闲置内存大于等于请求分配的内存,对各个虚拟机的闲置内存加上标签;释放步骤,计算各个虚拟机的平均释放内存,根据该平均释放内存释放各个虚拟机的闲置内存;及去除步骤,去除加在各个虚拟机的闲置内存的标签。
本发明计算各个虚拟机的平均释放内存,根据该平均释放内存释放各个虚拟机的闲置内存,避免了仅仅由个别虚拟机释放内存而导致虚拟内存(virtual memory)的交换(swap)机制启动,降低了虚拟机的内存闲置率,提高了虚拟机的效能。
附图说明
图1为本发明虚拟机内存管理系统较佳实施例的应用环境示意图。
图2为图1中虚拟机内存管理系统的功能模块图。
图3为本发明虚拟机内存管理方法较佳实施例的流程图。
主要元件符号说明
虚拟机内存管理系统 | 10 |
虚拟机 | 11 |
计算设备 | 12 |
存储设备 | 13 |
处理器 | 14 |
查询模块 | 200 |
计算模块 | 210 |
标签模块 | 220 |
释放模块 | 230 |
去除模块 | 240 |
如下具体实施方式将结合上述附图进一步说明本发明。
具体实施方式
参阅图1所示,是本发明虚拟机内存管理系统较佳实施例的应用环境示意图。所述虚拟机内存管理系统10及多个虚拟机11安装并运行于计算设备12中。所述计算设备12包括存储设备13及处理器14。所述存储设备13包括多种类型的存储器(例如内存、外存、缓存),用于存储虚拟机内存管理系统10及虚拟机11的计算机化程序代码及运行过程中所需的数据。所述处理器14执行该计算机化程序代码,对虚拟机11进行内存管理。
参阅图2所示,是图1中虚拟机内存管理系统10的功能模块图。所述虚拟机内存管理系统10包括查询模块200、计算模块210、标签模块220、释放模块230及去除模块240。
所述查询模块200用于当用户请求分配内存而计算设备12内存不足时,查询各个虚拟机11的闲置内存。用户可以在申请安装新的虚拟机11至计算设备12时请求为该新的虚拟机11分配内存,或者在计算设备12现有的虚拟机11内存不足时请求为该现有的虚拟机11分配内存。在本实施例中,每个虚拟机11的内部设置有一个内存监控器,该内存监控器实时监控虚拟机11的闲置内存,所述查询模块200利用各个虚拟机11的内存监控器获得各个虚拟机11的闲置内存。
所述计算模块210用于根据各个虚拟机11的闲置内存计算所有虚拟机11的总闲置内存,并判断该总闲置内存是否小于请求分配的内存。
所述标签模块220用于当总闲置内存大于等于请求分配的内存时,对各个虚拟机11的闲置内存加上标签,避免各个虚拟机11对各自的闲置内存进行存取。在本实施例中,内存以页为单位存储数据,标签模块220对内存中闲置的页加上标签。例如,用标签“Idle”标识闲置内存,“Active”标识被占用内存。
所述释放模块230用于计算各个虚拟机11的平均释放内存,根据该平均释放内存释放各个虚拟机11的闲置内存。所述平均释放内存等于所有虚拟机11的总闲置内存除以虚拟机11的总个数。若虚拟机11的闲置内存大于等于平均释放内存,则释放该虚拟机11平均释放内存大小的闲置内存。若虚拟机11的闲置内存小于平均释放内存,则释放该虚拟机11的闲置内存,不足部分由其他闲置内存足够的虚拟机11释放。
所述去除模块240用于去除加在各个虚拟机11的闲置内存的标签,以允许各个虚拟机11对各自剩余的(即未被释放的)闲置内存进行存取。去除标签的闲置内存包括各个虚拟机11已经释放的闲置内存及各个虚拟机11剩余的闲置内存。
参阅图3所示,是本发明虚拟机内存管理方法较佳实施例的流程图。
当用户请求分配内存而计算设备12内存不足时,步骤S301,查询模块200查询各个虚拟机11的闲置内存。用户可以在申请安装新的虚拟机11至计算设备12时请求为该新的虚拟机11分配内存,或者在计算设备12现有的虚拟机11内存不足时请求为该现有的虚拟机11分配内存。在本实施例中,每个虚拟机11的内部设置有一个内存监控器,该内存监控器实时监控虚拟机11的闲置内存,所述查询模块200利用各个虚拟机11的内存监控器获得各个虚拟机11的闲置内存。
步骤S302,计算模块210根据各个虚拟机11的闲置内存计算所有虚拟机11的总闲置内存,并判断该总闲置内存是否小于请求分配的内存。若所有虚拟机11的总闲置内存小于请求分配的内存,流程结束。
若所有虚拟机11的总闲置内存大于等于请求分配的内存,步骤S303,标签模块220对各个虚拟机11的闲置内存加上标签,避免各个虚拟机11对各自的闲置内存进行存取。在本实施例中,内存以页为单位存储数据,标签模块220对各个虚拟机11的内存中闲置的页加上标签。
步骤S304,释放模块230计算各个虚拟机11的平均释放内存,根据该平均释放内存释放各个虚拟机11的闲置内存。所述平均释放内存等于所有虚拟机11的总闲置内存除以虚拟机11的总个数。若虚拟机11的闲置内存大于等于平均释放内存,则释放该虚拟机11平均释放内存大小的闲置内存。若虚拟机11的闲置内存小于平均释放内存,则释放该虚拟机11的闲置内存,不足部分由其他闲置内存足够的虚拟机11释放。
步骤S305,去除模块240去除加在各个虚拟机11的闲置内存的标签,以允许各个虚拟机11对各自剩余的闲置内存进行存取。去除标签的闲置内存包括各个虚拟机11已经释放的闲置内存及各个虚拟机11剩余的闲置内存。
本发明计算各个虚拟机11的平均释放内存,根据该平均释放内存释放各个虚拟机11的闲置内存,避免了仅由个别虚拟机11释放内存而导致虚拟内存(virtual memory)的交换(swap)机制启动,降低了虚拟机11的内存闲置率,提高了虚拟机11的效能。
Claims (10)
1.一种虚拟机内存管理系统,运行于计算设备中,该计算设备安装有多个虚拟机,其特征在于,该系统包括:
查询模块,用于当用户请求分配内存而计算设备内存不足时,查询各个虚拟机的闲置内存;
计算模块,用于根据各个虚拟机的闲置内存计算所有虚拟机的总闲置内存,并判断所述总闲置内存是否小于请求分配的内存;
标签模块,用于当所述总闲置内存大于等于请求分配的内存时,对各个虚拟机的闲置内存加上标签;
释放模块,用于计算各个虚拟机的平均释放内存,根据该平均释放内存释放各个虚拟机的闲置内存;及
去除模块,用于去除加在各个虚拟机的闲置内存的标签。
2.如权利要求1所述的虚拟机内存管理系统,其特征在于,所述查询模块利用每个虚拟机内部设置的内存监控器查询各个虚拟机的闲置内存。
3.如权利要求1所述的虚拟机内存管理系统,其特征在于,所述对各个虚拟机的闲置内存加上标签是对各个虚拟机的内存中闲置的页加上标签。
4.如权利要求1所述的虚拟机内存管理系统,其特征在于,所述平均释放内存等于所有虚拟机的总闲置内存除以虚拟机的总个数。
5.如权利要求1所述的虚拟机内存管理系统,其特征在于,所述根据该平均释放内存释放各个虚拟机的闲置内存包括:
若虚拟机的闲置内存大于等于平均释放内存,则释放该虚拟机平均释放内存大小的闲置内存;及
若虚拟机的闲置内存小于平均释放内存,则释放该虚拟机的闲置内存,不足部分由其他闲置内存足够的虚拟机释放。
6.一种虚拟机内存管理方法,应用于计算设备中,该计算设备安装有多个虚拟机,其特征在于,该方法包括:
查询步骤,当用户请求分配内存而计算设备内存不足时,查询各个虚拟机的闲置内存;
计算步骤,根据各个虚拟机的闲置内存计算所有虚拟机的总闲置内存,并判断所述总闲置内存是否小于请求分配的内存;
标签步骤,若所述总闲置内存大于等于请求分配的内存,对各个虚拟机的闲置内存加上标签;
释放步骤,计算各个虚拟机的平均释放内存,根据该平均释放内存释放各个虚拟机的闲置内存;及
去除步骤,去除加在各个虚拟机的闲置内存的标签。
7.如权利要求6所述的虚拟机内存管理方法,其特征在于,所述查询步骤利用每个虚拟机内部设置的内存监控器查询各个虚拟机的闲置内存。
8.如权利要求6所述的虚拟机内存管理方法,其特征在于,所述标签步骤中对各个虚拟机的闲置内存加上标签是对各个虚拟机的内存中闲置的页加上标签。
9.如权利要求6所述的虚拟机内存管理方法,其特征在于,所述平均释放内存等于所有虚拟机的总闲置内存除以虚拟机的总个数。
10.如权利要求6所述的虚拟机内存管理方法,其特征在于,所述释放步骤中根据该平均释放内存释放各个虚拟机的闲置内存包括:
若虚拟机的闲置内存大于等于平均释放内存,则释放该虚拟机平均释放内存大小的闲置内存;及
若虚拟机的闲置内存小于平均释放内存,则释放该虚拟机的闲置内存,不足部分由其他闲置内存足够的虚拟机释放。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2012100700391A CN103309698A (zh) | 2012-03-16 | 2012-03-16 | 虚拟机内存管理系统及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2012100700391A CN103309698A (zh) | 2012-03-16 | 2012-03-16 | 虚拟机内存管理系统及方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN103309698A true CN103309698A (zh) | 2013-09-18 |
Family
ID=49134959
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2012100700391A Pending CN103309698A (zh) | 2012-03-16 | 2012-03-16 | 虚拟机内存管理系统及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103309698A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103593243A (zh) * | 2013-11-01 | 2014-02-19 | 浪潮电子信息产业股份有限公司 | 一种动态可扩展的增加虚拟机资源的方法 |
CN105279028B (zh) * | 2015-11-24 | 2018-09-07 | 浪潮(北京)电子信息产业有限公司 | 一种内存资源分配方法及装置 |
CN108614728A (zh) * | 2018-04-27 | 2018-10-02 | 平安科技(深圳)有限公司 | 虚拟机服务提供方法、装置、设备及计算机可读存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102222014A (zh) * | 2011-06-16 | 2011-10-19 | 华中科技大学 | 基于内存热插拔的虚拟机动态内存管理系统 |
CN102306126A (zh) * | 2011-08-24 | 2012-01-04 | 华为技术有限公司 | 内存管理方法、装置和系统 |
-
2012
- 2012-03-16 CN CN2012100700391A patent/CN103309698A/zh active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102222014A (zh) * | 2011-06-16 | 2011-10-19 | 华中科技大学 | 基于内存热插拔的虚拟机动态内存管理系统 |
CN102306126A (zh) * | 2011-08-24 | 2012-01-04 | 华为技术有限公司 | 内存管理方法、装置和系统 |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103593243A (zh) * | 2013-11-01 | 2014-02-19 | 浪潮电子信息产业股份有限公司 | 一种动态可扩展的增加虚拟机资源的方法 |
CN103593243B (zh) * | 2013-11-01 | 2017-05-10 | 浪潮电子信息产业股份有限公司 | 一种可动态扩展的增加虚拟机资源集群系统 |
CN105279028B (zh) * | 2015-11-24 | 2018-09-07 | 浪潮(北京)电子信息产业有限公司 | 一种内存资源分配方法及装置 |
CN108614728A (zh) * | 2018-04-27 | 2018-10-02 | 平安科技(深圳)有限公司 | 虚拟机服务提供方法、装置、设备及计算机可读存储介质 |
WO2019205272A1 (zh) * | 2018-04-27 | 2019-10-31 | 平安科技(深圳)有限公司 | 虚拟机服务提供方法、装置、设备及计算机可读存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109213600B (zh) | 一种基于ai云的gpu资源调度方法和装置 | |
US9503347B2 (en) | Techniques associated with server transaction latency information | |
CA2741088C (en) | Methods of achieving cognizant power management | |
CN105049268A (zh) | 分布式计算资源分配系统和任务处理方法 | |
US10241836B2 (en) | Resource management in a virtualized computing environment | |
CN103067297B (zh) | 一种基于资源消耗预测的动态负载均衡方法及装置 | |
CN104252390A (zh) | 资源调度方法、装置和系统 | |
CN102521051B (zh) | 应用于图算法的Map Reduce系统中的任务调度方法、装置和系统 | |
CN102866920A (zh) | 主从结构分布式视频处理系统及其调度方法 | |
CN103164253A (zh) | 虚拟机部署系统及方法 | |
CN103763740A (zh) | 一种单板间负载均衡的方法及装置 | |
CN102346725A (zh) | 更改设备配置文件的消息通知装置及方法 | |
CN104793996A (zh) | 一种并行计算设备的任务调度方法及任务调度装置 | |
CN102929769A (zh) | 一种基于代理服务的虚拟机内部数据采集方法 | |
CN111045811A (zh) | 一种任务分配方法、装置、电子设备及存储介质 | |
CN114244718A (zh) | 一种输电线路通信网络设备管理系统 | |
CN103309698A (zh) | 虚拟机内存管理系统及方法 | |
CN111638953A (zh) | 一种实现gpu虚拟化的方法、装置和存储介质 | |
CN111464331A (zh) | 一种线程创建的控制方法、系统及终端设备 | |
CN108153583A (zh) | 任务分配方法及装置、实时计算框架系统 | |
CN105577756A (zh) | 采用交叉备份的分布式数据库日志收集与负载调节系统及其方法 | |
CN107203256A (zh) | 一种网络功能虚拟化场景下的节能分配方法与装置 | |
CN104281587B (zh) | 一种建立连接的方法及装置 | |
CN115334001B (zh) | 基于优先关系的数据资源调度方法及装置 | |
CN105072161A (zh) | 一种基于云计算的应用程序管理系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20130918 |
|
WD01 | Invention patent application deemed withdrawn after publication |