CN107391227A - 一种内存管理方法及装置 - Google Patents
一种内存管理方法及装置 Download PDFInfo
- Publication number
- CN107391227A CN107391227A CN201710597511.XA CN201710597511A CN107391227A CN 107391227 A CN107391227 A CN 107391227A CN 201710597511 A CN201710597511 A CN 201710597511A CN 107391227 A CN107391227 A CN 107391227A
- Authority
- CN
- China
- Prior art keywords
- memory
- memory device
- virtual machine
- addition
- run
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/40—Bus structure
- G06F13/4063—Device-to-bus coupling
- G06F13/4068—Electrical coupling
- G06F13/4081—Live connection to bus, e.g. hot-plugging
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45583—Memory management, e.g. access or allocation
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
本发明提供一种内存管理方法及装置,上述方法包括以下步骤:虚拟机运行时,根据获取的内存插槽数,进行内存设备的添加。上述技术方案,实现了在不中断虚拟机运行,保障用户业务连续性的同时,达到对虚拟机扩容内存资源的需求,大大增强了用户体验。另外,上述技术方案中,根据内存插槽数进行内存设备的添加,突破了虚拟机初始的内存上限值,提高虚拟机的性能,提高物理机内存的利用率。
Description
技术领域
本发明涉及通信领域,尤其涉及一种内存管理方法及装置。
背景技术
随着物理主机硬件能力的提升和服务器虚拟化技术的发展,用户使用虚拟化技术带来了管理方便、成本节约等实实在在的收益;同时用户在使用虚拟化,享受虚拟化带来的收益的同时,不断的对虚拟化提出更高的要求。
用户创建虚拟机的时候,给虚拟机分配了一定的内存资源,随着用户业务的发展,初始分配的内存资源不能满足不断增长的业务需求,这就需要用户对虚拟机内存资源进行扩容。
现有技术方案中,在对虚拟机内存资源进行扩容时,需要关闭虚拟机,而用户的业务系统又是7*24不间断运行的,这就意味着用户的业务必须在中断的条件下进行虚拟机内存资源扩容,这大大影响了用户的业务处理效率,降低了用户体验。
因此,迫切需要提供一种内存管理方案来解决上述技术问题。
发明内容
本发明提供一种内存管理方法及装置,以解决上述问题。
本发明提供一种内存管理方法,包括以下步骤:虚拟机运行时,根据获取的内存插槽数,进行内存设备的添加。
本发明提供一种内存管理装置,包括处理器,适于实现各指令;存储设备,适于存储多条指令,所述指令适于由所述处理器加载并执行;
虚拟机运行时,根据获取的内存插槽数,进行内存设备的添加。
本发明实施例提供的技术方案:虚拟机运行时,根据获取的内存插槽数,进行内存设备的添加。
上述技术方案,实现了在不中断虚拟机运行,保障用户业务连续性的同时,达到对虚拟机扩容内存资源的需求,大大增强了用户体验。
另外,上述技术方案中,根据内存插槽数进行内存设备的添加,突破了虚拟机初始的内存上限值,提高虚拟机的性能,提高物理机内存的利用率。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1所示为本发明实施例1的内存管理方法流程图;
图2所示为本发明实施例2的内存管理装置结构图。
具体实施方式
下文中将参考附图并结合实施例来详细说明本发明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
本发明实施例的核心技术特点在于:虚拟机运行时,根据获取的内存插槽数,进行内存设备的添加。
图1所示为本发明实施例1的内存管理方法流程图,包括以下步骤:
步骤101:虚拟机创建时,为所述虚拟机设定对应的内存插槽数和/或待添加的内存设备;
其中,内存插槽数决定了热添加内存设备的次数。
具体而言:
虚拟机创建时,为所述虚拟机设定对应的双列直插式内存设备dimm。
系统初始化主板设备时,会创建membus.0/1和membus.pv两个内存热插拔的bus,这些bus挂载在北桥芯片下;然后根据用户指定,初始化dimm设备。
步骤102:虚拟机运行时,根据获取的内存插槽数,进行内存设备的添加。
进一步地,虚拟机运行时,根据获取的内存插槽数,进行内存设备的添加的过程为:
添加内存对象,其中,所述内存对象包括内存设备标识、内存设备容量;
根据所述内存设备标识,对所述内存设备进行添加。
具体而言:
添加内存对象的具体过程如下:
在qemu monitor下输入命令:
object_add memory-backed-ram,id=ram01,size=6G
添加内存设备的具体过程如下:
在qemu monitor下输入命令:
device_add pc-dimm,id=d01,memdev=ram01
进一步地,根据所述内存设备标识,对所述内存设备进行添加之后,还包括:
对所述内存设备进行识别,创建内存页表和内存文件。
具体而言:
当所述内存设备添加成功后,内核识别到新的内存设备,创建新的内存页表,为新的内存创建sysfs文件即内存文件。
进一步地,对所述内存设备进行识别,创建内存页表和内存文件之后,还包括:
运行所述内存设备,其中,所述内存设备中的内存处于可用状态。
具体而言:
进入来宾操作系统Guest OS,将添加的所述内存设备section online,使之处于运行状态,使得所述内存设备的内存处于可用状态。
图2所示为本发明实施例2的内存管理装置结构图,包括处理器,适于实现各指令;存储设备,适于存储多条指令,所述指令适于由所述处理器加载并执行;
虚拟机运行时,根据获取的内存插槽数,进行内存设备的添加。
进一步地,虚拟机运行时,根据获取的内存插槽数,进行内存设备的添加的过程为:
添加内存对象,其中,所述内存对象包括内存设备标识、内存设备容量;
根据所述内存设备标识,对所述内存设备进行添加。
进一步地,根据所述内存设备标识,对所述内存设备进行添加之后,还包括:
对所述内存设备进行识别,创建内存页表和内存文件。
进一步地,对所述内存设备进行识别,创建内存页表和内存文件之后,还包括:
运行所述内存设备,其中,所述内存设备中的内存处于可用状态。
进一步地,虚拟机运行时,根据获取的内存插槽数,进行内存设备的添加之前,还包括:
虚拟机创建时,为所述虚拟机设定对应的内存插槽数和/或待添加的内存设备。
本发明实施例提供的技术方案:虚拟机运行时,根据获取的内存插槽数,进行内存设备的添加。
上述技术方案,实现了在不中断虚拟机运行,保障用户业务连续性的同时,达到对虚拟机扩容内存资源的需求,大大增强了用户体验。
另外,上述技术方案中,根据内存插槽数进行内存设备的添加,突破了虚拟机初始的内存上限值,提高虚拟机的性能,提高物理机内存的利用率。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种内存管理方法,其特征在于,包括以下步骤:
虚拟机运行时,根据获取的内存插槽数,进行内存设备的添加。
2.根据权利要求1所述的方法,其特征在于,虚拟机运行时,根据获取的内存插槽数,进行内存设备的添加的过程为:
添加内存对象,其中,所述内存对象包括内存设备标识、内存设备容量;
根据所述内存设备标识,对所述内存设备进行添加。
3.根据权利要求2所述的方法,其特征在于,根据所述内存设备标识,对所述内存设备进行添加之后,还包括:
对所述内存设备进行识别,创建内存页表和内存文件。
4.根据权利要求3所述的方法,其特征在于,对所述内存设备进行识别,创建内存页表和内存文件之后,还包括:
运行所述内存设备,其中,所述内存设备中的内存处于可用状态。
5.根据权利要求1所述的方法,其特征在于,虚拟机运行时,根据获取的内存插槽数,进行内存设备的添加之前,还包括:
虚拟机创建时,为所述虚拟机设定对应的内存插槽数和/或待添加的内存设备。
6.一种内存管理装置,其特征在于,包括处理器,适于实现各指令;存储设备,适于存储多条指令,所述指令适于由所述处理器加载并执行;
虚拟机运行时,根据获取的内存插槽数,进行内存设备的添加。
7.根据权利要求6所述的装置,其特征在于,虚拟机运行时,根据获取的内存插槽数,进行内存设备的添加的过程为:
添加内存对象,其中,所述内存对象包括内存设备标识、内存设备容量;
根据所述内存设备标识,对所述内存设备进行添加。
8.根据权利要求7所述的装置,其特征在于,根据所述内存设备标识,对所述内存设备进行添加之后,还包括:
对所述内存设备进行识别,创建内存页表和内存文件。
9.根据权利要求8所述的装置,其特征在于,对所述内存设备进行识别,创建内存页表和内存文件之后,还包括:
运行所述内存设备,其中,所述内存设备中的内存处于可用状态。
10.根据权利要求7所述的装置,其特征在于,虚拟机运行时,根据获取的内存插槽数,进行内存设备的添加之前,还包括:
虚拟机创建时,为所述虚拟机设定对应的内存插槽数和/或待添加的内存设备。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710597511.XA CN107391227A (zh) | 2017-07-20 | 2017-07-20 | 一种内存管理方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710597511.XA CN107391227A (zh) | 2017-07-20 | 2017-07-20 | 一种内存管理方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN107391227A true CN107391227A (zh) | 2017-11-24 |
Family
ID=60336391
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710597511.XA Pending CN107391227A (zh) | 2017-07-20 | 2017-07-20 | 一种内存管理方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107391227A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110580195A (zh) * | 2019-08-29 | 2019-12-17 | 上海仪电(集团)有限公司中央研究院 | 一种基于内存热插拔的内存分配方法和装置 |
CN110633130A (zh) * | 2019-08-29 | 2019-12-31 | 上海仪电(集团)有限公司中央研究院 | 一种基于内存热插拔技术的虚拟内存管理方法和装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102222014A (zh) * | 2011-06-16 | 2011-10-19 | 华中科技大学 | 基于内存热插拔的虚拟机动态内存管理系统 |
US20150058520A1 (en) * | 2013-08-22 | 2015-02-26 | International Business Machines Corporation | Detection of hot pages for partition migration |
CN104915151A (zh) * | 2015-06-02 | 2015-09-16 | 杭州电子科技大学 | 多虚拟机系统中一种主动共享的内存超量分配方法 |
-
2017
- 2017-07-20 CN CN201710597511.XA patent/CN107391227A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102222014A (zh) * | 2011-06-16 | 2011-10-19 | 华中科技大学 | 基于内存热插拔的虚拟机动态内存管理系统 |
US20150058520A1 (en) * | 2013-08-22 | 2015-02-26 | International Business Machines Corporation | Detection of hot pages for partition migration |
CN104915151A (zh) * | 2015-06-02 | 2015-09-16 | 杭州电子科技大学 | 多虚拟机系统中一种主动共享的内存超量分配方法 |
Non-Patent Citations (1)
Title |
---|
云技术社区: "https://www.sohu.com/a/127111424_610730", 《【干货】弹性伸缩:QEMU内存热插拔介绍》 * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110580195A (zh) * | 2019-08-29 | 2019-12-17 | 上海仪电(集团)有限公司中央研究院 | 一种基于内存热插拔的内存分配方法和装置 |
CN110633130A (zh) * | 2019-08-29 | 2019-12-31 | 上海仪电(集团)有限公司中央研究院 | 一种基于内存热插拔技术的虚拟内存管理方法和装置 |
CN110633130B (zh) * | 2019-08-29 | 2023-10-31 | 上海仪电(集团)有限公司中央研究院 | 一种基于内存热插拔技术的虚拟内存管理方法和装置 |
CN110580195B (zh) * | 2019-08-29 | 2023-11-07 | 上海仪电(集团)有限公司中央研究院 | 一种基于内存热插拔的内存分配方法和装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103064927A (zh) | 分布式文件系统的数据访问方法和装置 | |
US10671571B2 (en) | Fast network performance in containerized environments for network function virtualization | |
CN102316043B (zh) | 端口虚拟化方法、交换机及通信系统 | |
TW201336264A (zh) | 自動擴充虛擬機的方法 | |
WO2017000645A1 (zh) | 一种分配宿主机资源的方法和装置 | |
US11036535B2 (en) | Data storage method and apparatus | |
CN106385329A (zh) | 资源池的处理方法、装置和设备 | |
CN105245523A (zh) | 应用于桌面虚拟化场景的存储服务平台及其实现方法 | |
CN110633130B (zh) | 一种基于内存热插拔技术的虚拟内存管理方法和装置 | |
CN106844048A (zh) | 基于硬件特性的分布式共享内存方法及系统 | |
CN102413183B (zh) | 云智能交换机及其处理方法、系统 | |
CN107544864A (zh) | 一种虚拟机数据拷贝方法及虚拟机数据拷贝系统 | |
CN108021449A (zh) | 一种协程实现方法、终端设备及存储介质 | |
CN109471725A (zh) | 资源分配方法、装置和服务器 | |
CN102857475A (zh) | 一种防火墙虚拟化处理系统 | |
CN103544047A (zh) | 云系统数据管理方法 | |
CN103246522A (zh) | 一种基于虚拟化平台的热备环境的快速搭建方法 | |
CN107003949A (zh) | 用于多核系统的内存同步的系统和方法 | |
CN105677480A (zh) | 一种数据处理方法及装置 | |
CN104573422A (zh) | 一种基于虚拟机的应用进程运行方法及装置 | |
CN107391227A (zh) | 一种内存管理方法及装置 | |
CN110580195A (zh) | 一种基于内存热插拔的内存分配方法和装置 | |
CN106933512B (zh) | 一种数据读写的方法及其设备 | |
CN109271247A (zh) | 内存优化方法、装置、计算机装置以及存储介质 | |
CN104518897A (zh) | 虚拟防火墙的资源管理优化处理方法和装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20171124 |