CN113204407A - 一种内存超配管理方法及装置 - Google Patents
一种内存超配管理方法及装置 Download PDFInfo
- Publication number
- CN113204407A CN113204407A CN202110440200.9A CN202110440200A CN113204407A CN 113204407 A CN113204407 A CN 113204407A CN 202110440200 A CN202110440200 A CN 202110440200A CN 113204407 A CN113204407 A CN 113204407A
- Authority
- CN
- China
- Prior art keywords
- memory
- service
- host
- service host
- hosts
- 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.)
- Granted
Links
- 230000015654 memory Effects 0.000 title claims abstract description 422
- 238000007726 management method Methods 0.000 title claims description 114
- 238000000034 method Methods 0.000 claims abstract description 44
- 238000012545 processing Methods 0.000 claims description 15
- 230000004044 response Effects 0.000 claims description 9
- 238000001514 detection method Methods 0.000 claims description 3
- 238000005516 engineering process Methods 0.000 abstract description 4
- 238000010586 diagram Methods 0.000 description 18
- 230000008569 process Effects 0.000 description 8
- 238000004590 computer program Methods 0.000 description 7
- 230000006870 function Effects 0.000 description 7
- MNLAVFKVRUQAKW-UHFFFAOYSA-N VR nerve agent Chemical compound CCN(CC)CCSP(C)(=O)OCC(C)C MNLAVFKVRUQAKW-UHFFFAOYSA-N 0.000 description 4
- 230000007246 mechanism Effects 0.000 description 4
- 238000013507 mapping Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 238000013519 translation Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 2
- 238000005192 partition Methods 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 235000019800 disodium phosphate Nutrition 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 238000012552 review Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
Images
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
- 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5011—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
- G06F9/5016—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals the resource being the memory
-
- 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5011—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
- G06F9/5022—Mechanisms to release resources
-
- 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
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请涉及内存管理技术领域,特别涉及一种内存超配管理方法及装置。该方法应用于集群中的第一业务主机,所述集群还包括若干其他业务主机和管理主机,所述方法包括:在确定本地内存使用量大于等于设定阈值时,向所述管理主机发送通知,以使得所述管理主机查询所述集群中所述其他业务主机的内存使用情况,并基于所述其他业务主机的内存使用情况,确定内存使用量满足预设要求的第二业务主机;接收所述管理主机发送的所述第二业务主机信息;基于所述第二业务主机信息与所述第二业务主机建立远程直接内存访问连接,并向所述第二业务主机申请内存池。
Description
技术领域
本申请涉及内存管理技术领域,特别涉及一种内存超配管理方法及装置。
背景技术
云计算领域,虚拟机内存超配是指,多个虚拟机的内存容量的总和超过宿主机的物理内存总和。之所以要超配使用,是因为虚拟机实际可能并未完全使用所配置内存,通过超配可以提高系统资源利用率。
虚拟机内存超配存在的问题是,在服务器系统内存不足时,会引起虚拟机内存不足,引发系统问题。
目前,解决超配问题的方法是,使用主机的swap空间来扩充内存。
在Linux下,swap的作用类似Windows系统下的“虚拟内存”。swap技术的具体做法是,当某进程向OS请求内存发现不足时,OS会把内存中暂时不用的数据交换出去,放在swap分区中,这个过程称为swap out。当某进程又需要这些数据且OS发现还有空闲物理内存时,又会把swap分区中的数据交换回物理内存中,这个过程称为swap in。
然而,swap介质一般为磁盘,磁盘io能力和内存相比,性能很低。另外换入、换出也要消耗大量cpu,效率低。
swap空间的大小需要前期规划好,不够灵活。
主机可用内存容量为物理内存容量+swap容量,一旦swap使用完,操作系统会触发oom-killer机制,把消耗内存最多的进程kill掉以释放内存,会造成虚拟机宕机。
发明内容
本申请提供了一种内存超配管理方法及装置,用以解决现有技术中存在的采用swap机制导致的性能低,主机cpu性能消耗高的问题。
第一方面,本申请提供了一种内存超配管理方法,应用于集群中的第一业务主机,所述集群还包括若干其他业务主机和管理主机,所述方法包括:
在确定本地内存使用量大于等于设定阈值时,向所述管理主机发送通知,以使得所述管理主机查询所述集群中所述其他业务主机的内存使用情况,并基于所述其他业务主机的内存使用情况,确定内存使用量满足预设要求的第二业务主机;
接收所述管理主机发送的所述第二业务主机信息;
基于所述第二业务主机信息与所述第二业务主机建立远程直接内存访问连接,并向所述第二业务主机申请内存池。
可选地,所述第二业务主机为一个或多个业务主机;向所述第二业务主机申请内存池的步骤包括:
向所述第二业务主机发送内存申请请求消息,其中,所述内存申请请求消息包括申请的内存的大小;
接收所述第二业务主机发送的包含分配的指定大小的内存池的物理地址信息和使用所述指定大小的内存池的凭证的响应消息;
其中,若所述第二业务主机为多个业务主机,且所述多个业务主机均为所述第一业务主机分配有指定大小的内存池,多个指定大小的内存池被配置为高可用,则所述第一业务主机在进行数据写操作时,将数据分别写入多个指定大小的内存池,在进行数据读操作时,从多个指定大小的内存池中一个指定大小的内存池中读取数据;
若所述多个业务主机为所述第一业务主机分配的多个内存池的内存大小之和为所述指定大小,则将所述多个内存池作为一个逻辑内存池,在所述第一业务主机在进行数据写/数据读操作时,将数据写入所述逻辑内存池,或者,从所述逻辑内存池中读取数据。
可选地,所述方法还包括:
当检测到本地运行的任一虚拟机申请内存时,将所述指定大小的内存池的目标内存分配给所述任一虚拟机使用,并将所述目标内存对应的物理地址标记为已使用状态;
当检测到所述任一虚拟机释放所述目标内存时,将所述目标内存对应的物理地址标记为未使用状态;
当检测到所述指定大小的内存池的空闲时长大于等于预设时长时,与所述第二业务主机断开远程直接内存访问连接,以使得所述第二业务主机回收所述指定大小的内存池。
可选地,所述方法还包括:
在确定本地内存使用量大于等于设定阈值时,将自身标记为不对外共享内存的,并通知所述管理主机,其中,一个业务主机在所述不对外共享内存的下,不对外提供内存使用服务。
第二方面,本申请提供了一种内存超配管理方法,应用于集群中的管理主机,所述集群还包括若干业务主机,所述方法包括:
接收第一业务主机发送的通知,其中,所述第一业务主机在确定本地内存使用量大于等于设定阈值时,向所述管理主机发送通知;
查询所述集群中除所述第一业务主机之外的其他业务主机的内存使用情况,并基于所述其他业务主机的内存使用情况,确定内存使用量满足预设要求的第二业务主机;
将所述第二业务主机信息发送给所述第一业务主机,以使得所述第一业务主机与所述第二业务主机建立远程直接内存访问连接,并向所述第二业务主机申请内存池。
第三方面,本申请提供了一种内存超配管理装置,应用于集群中的第一业务主机,所述集群还包括若干其他业务主机和管理主机,所述装置包括:
发送单元,用于在确定本地内存使用量大于等于设定阈值时,向所述管理主机发送通知,以使得所述管理主机查询所述集群中所述其他业务主机的内存使用情况,并基于所述其他业务主机的内存使用情况,确定内存使用量满足预设要求的第二业务主机;
接收单元,用于接收所述管理主机发送的所述第二业务主机信息;
申请单元,用于基于所述第二业务主机信息与所述第二业务主机建立远程直接内存访问连接,并向所述第二业务主机申请内存池。
可选地,所述第二业务主机为一个或多个业务主机;向所述第二业务主机申请内存池时,所述申请单元具体用于:
向所述第二业务主机发送内存申请请求消息,其中,所述内存申请请求消息包括申请的内存的大小;
接收所述第二业务主机发送的包含分配的指定大小的内存池的物理地址信息和使用所述指定大小的内存池的凭证的响应消息;
其中,若所述第二业务主机为多个业务主机,且所述多个业务主机均为所述第一业务主机分配有指定大小的内存池,多个指定大小的内存池被配置为高可用,则所述第一业务主机在进行数据写操作时,将数据分别写入多个指定大小的内存池,在进行数据读操作时,从多个指定大小的内存池中一个指定大小的内存池中读取数据;
若所述多个业务主机为所述第一业务主机分配的多个内存池的内存大小之和为所述指定大小,则将所述多个内存池作为一个逻辑内存池,在所述第一业务主机在进行数据写/数据读操作时,将数据写入所述逻辑内存池,或者,从所述逻辑内存池中读取数据。
可选地,所述装置还包括:
检测单元,当检测到本地运行的任一虚拟机申请内存时,将所述指定大小的内存池的目标内存分配给所述任一虚拟机使用,并将所述目标内存对应的物理地址标记为已使用状态;当检测到所述任一虚拟机释放所述目标内存时,将所述目标内存对应的物理地址标记为未使用状态;当检测到所述指定大小的内存池的空闲时长大于等于预设时长时,与所述第二业务主机断开远程直接内存访问连接,以使得所述第二业务主机回收所述指定大小的内存池。
可选地,
在确定本地内存使用量大于等于设定阈值时,将自身标记为不对外共享内存的,并通知所述管理主机,其中,一个业务主机在所述不对外共享内存的下,不对外提供内存使用服务。
第四方面,本申请提供了一种内存超配管理装置,应用于集群中的管理主机,所述集群还包括若干业务主机,所述装置包括:
接收单元,用于接收第一业务主机发送的通知,其中,所述第一业务主机在确定本地内存使用量大于等于设定阈值时,向所述管理主机发送通知;
查询单元,用于查询所述集群中除所述第一业务主机之外的其他业务主机的内存使用情况,并基于所述其他业务主机的内存使用情况,确定内存使用量满足预设要求的第二业务主机;
发送单元,用于将所述第二业务主机信息发送给所述第一业务主机,以使得所述第一业务主机与所述第二业务主机建立远程直接内存访问连接,并向所述第二业务主机申请内存池。
第五方面,本申请实施例提供一种内存超配管理装置装置,该装置应用于集群中的第一业务主机,所述集群还包括若干其他业务主机和管理主机,该装置包括:
存储器,用于存储程序指令;
处理器,用于调用所述存储器中存储的程序指令,按照获得的程序指令执行如上述第一方面中任一项所述的方法的步骤。
第六方面,本申请实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令用于使所述计算机执行如上述第一方面中任一项所述方法的步骤。
第七方面,本申请实施例提供一种内存超配管理装置装置,该装置应用于集群中的管理主机,所述集群还包括若干业务主机,该装置包括:
存储器,用于存储程序指令;
处理器,用于调用所述存储器中存储的程序指令,按照获得的程序指令执行如上述第二方面中任一项所述的方法的步骤。
第八方面,本申请实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令用于使所述计算机执行如上述第二方面中任一项所述方法的步骤。
综上可知,本申请实施例提供的内存超配管理方法,应用于集群中的第一业务主机,所述集群还包括若干其他业务主机和管理主机,所述方法包括:在确定本地内存使用量大于等于设定阈值时,向所述管理主机发送通知,以使得所述管理主机查询所述集群中所述其他业务主机的内存使用情况,并基于所述其他业务主机的内存使用情况,确定内存使用量满足预设要求的第二业务主机;接收所述管理主机发送的所述第二业务主机信息;基于所述第二业务主机信息与所述第二业务主机建立远程直接内存访问连接,并向所述第二业务主机申请内存池。
采用本申请实施例提供的内存超配管理方法,不使用swap机制,通过rdma技术,将远端主机的内存应用于虚拟机内存,rdma操作由硬件完成,无需消耗cpu资源,且比swap机制性能要好;远端主机内存的大小可以动态配置。且管理主机可以灵活选择主机,单主机的可用内存容量扩展到集群内所有主机,实现全局内存资源有效利用,避免出现单主机内存耗尽,虚拟机内存超载时宕机。
附图说明
为了更加清楚地说明本申请实施例或者现有技术中的技术方案,下面将对本申请实施例或者现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,还可以根据本申请实施例的这些附图获得其他的附图。
图1为本申请实施例提供的一种内存超配管理方法的详细流程图;
图2为本申请实施例提供的一种地址转换过程示意图;
图3为本申请实施例提供的另一种内存超配管理方法的详细流程图;
图4为本申请实施例提供的第一种内存超配管理装置的结构示意图;
图5为本申请实施例提供的第二种内存超配管理装置的结构示意图;
图6为本申请实施例提供的第三种内存超配管理装置的结构示意图;
图7为本申请实施例提供的第四种内存超配管理装置的结构示意图。
具体实施方式
在本申请实施例使用的术语仅仅是出于描述特定实施例的目的,而非限制本申请。本申请和权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其它含义。还应当理解,本文中使用的术语“和/或”是指包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本申请实施例可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,此外,所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
示例性的,参阅图1所示,为本申请实施例提供的一种内存超配管理方法的详细流程图,该方法应用于集群中的第一业务主机,所述集群还包括若干其他业务主机和管理主机,该方法包括以下步骤:
步骤100:在确定本地内存使用量大于等于设定阈值时,向所述管理主机发送通知,以使得所述管理主机查询所述集群中所述其他业务主机的内存使用情况,并基于所述其他业务主机的内存使用情况,确定内存使用量满足预设要求的第二业务主机。
实际应用中,集群可以包括管理主机(如,云管理平台)和若干业务主机,且各业务主机均需配置远程直接内存访问(Remote Direct Memory Access,RDMA)网卡。
本申请实施例中,管理主机可获取和管理各业务主机的内存使用量,任一业务主机(如,第一业务主机)在确定自身内存使用量大于等于设定阈值时,可向管理主机发起申请内存的操作。然后,云管理平台可以根据本地维护的,各业务主机周期性上报的各业务主机的内存使用情况(空闲内存量和/或空闲内存百分比),或者,实时向各业务主机发送内存试用情况查询的消息,获取各业务主机的内存使用情况,获取各业务主机反馈的内存使用情况。最后,管理主机根据各业务主机的内存使用情况,确定出空闲内存量最大的目标业务主机(如,第二业务主机)。需要说明的是,目标业务主机包括至少一个业务主机。
进一步地,在确定本地内存使用量大于等于设定阈值时,将自身标记为不对外共享内存的,并通知所述管理主机,其中,一个业务主机在所述不对外共享内存的下,不对外提供内存使用服务。
也就是说,各业务主机在向管理主机上报内存使用情况时,若确定自身的内存使用率较高,则可以将自身设置为不对外共享内存的状态,同时,通知管理主机,以使得管理主机在确定目标业务主机时,将该业务主机剔除掉。即该业务主机由于可用内存量不足,不适合作为目标业务主机对其他业务主机提供内存共享服务。
那么,管理主机在进行目标业务主机确定时,首先可以过滤掉被设置为不对外共享内存的状态的业务主机,然后,根据剩下的其他业务主机的内存使用情况,确定出至少一个目标业务主机。
步骤110:接收所述管理主机发送的所述第二业务主机信息。
具体地,管理主机在确定出第二业务主机之后,即可将第二业务主机的相关信息告知第一业务主机。第一业务主机接收管理主机发送的第二业务主机的相关信息。
步骤120:基于所述第二业务主机信息与所述第二业务主机建立远程直接内存访问连接,并向所述第二业务主机申请内存池。
具体地,第一业务主机根据第二业务主机的相关信息,与第二业务主机建立RDMA连接,接着,第一业务主机向第二业务主机发起内存申请的操作,所述第二业务主机为一个或多个业务主机。
本申请实施例中,向所述第二业务主机申请内存池时,一种较佳地实现方式为,向所述第二业务主机发送内存申请请求消息,其中,所述内存申请请求消息包括申请的内存的大小;接收所述第二业务主机发送的包含分配的指定大小的内存池的物理地址信息和使用所述指定大小的内存池的凭证的响应消息。
其中,若所述第二业务主机为多个业务主机,且所述多个业务主机均为所述第一业务主机分配有指定大小的内存池,多个指定大小的内存池被配置为高可用,则所述第一业务主机在进行数据写操作时,将数据分别写入多个指定大小的内存池,在进行数据读操作时,从多个指定大小的内存池中一个指定大小的内存池中读取数据;
若所述多个业务主机为所述第一业务主机分配的多个内存池的内存大小之和为所述指定大小,则将所述多个内存池作为一个逻辑内存池,在所述第一业务主机在进行数据写/数据读操作时,将数据写入所述逻辑内存池,或者,从所述逻辑内存池中读取数据。
也就是说,第一业务主机向第二业务主机发送内存申请请求消息,该内存申请请求消息中至少包括第一业务主机此次申请的内存的大小,第二业务主机在接收到该内存申请请求消息后,在本地可用内存中,根据第一业务主机当前申请的内存的大小,划分一个内存池(大小与第一业务主机当前申请的内存大小相同)给第一业务主机使用,具体地,第二业务主机可以将该内存池的物理内存地址和使用该内存池的权限凭证携带在响应消息中,返回给第一业务主机。这样,第一业务主机就可以凭借该权限评审,通过RDMA访问该内存池。
实际应用中,内存软件虚拟化是要将虚拟机的虚拟地址(Guest VirtualAddress,GVA)转化为业务主机的物理地址(Host Physical Address,HPA),中间要经过虚拟机的物理地址(Guest Physical Address,GPA)和业务主机虚拟地址(Host VirtualAddress)的转化,即:GVA->GPA->HVA->HPA。其中,前两步由虚拟机的系统页表完成,中间两步由VMM定义的映射表(由数据结构kvm_memory_slot记录)完成,它可以将连续的虚拟机物理地址映射成非连续的Host机虚拟地址。
而本申请实施例中,地址转换过程如下。示例性的,参阅图2所示,为本申请实施例提供的一种地址转换过程示意图,客户端虚拟地址经过客户机系统页面转换为客户机物理地址,接着,影子页表中维护有客户端虚拟地址,客户机物理地址和远端物理内存地址之间的映射关系,即在发生由客户机页表和影子页表不一致时,填充远端物理地址到影子页表的页表项。
进一步地,本申请实施例中,当第一业务主机检测到本地运行的任一虚拟机申请内存时,将所述指定大小的内存池的目标内存分配给所述任一虚拟机使用,并将所述目标内存对应的物理地址标记为已使用状态;当检测到所述任一虚拟机释放所述目标内存时,将所述目标内存对应的物理地址标记为未使用状态;当检测到所述指定大小的内存池的空闲时长大于等于预设时长时,与所述第二业务主机断开远程直接内存访问连接,以使得所述第二业务主机回收所述指定大小的内存池。
也就是说,当第一业务主机需要使用第二业务主机共享的内存池时,将该内存池的部分/或全部内存配置给该第一业务主机上运行的虚拟机使用,显然,已分配给一个虚拟机使用的内存不能再分配给其他虚拟机使用,进一步地,当检测到一个虚拟机内存释放时,也收回相应的内存。同时,若检测到该内存池空闲超过一定时间后,即说明第一业务主机自身的内存够用了,无需第二业务主机共享内存使用,此时,就可以断开业务主机之间的连接,由第二业务主机收回该内存池。当集群中任一业务主机满足内存申请条件时,仍可以从集群中其他业务主机处申请内存。
进一步地,本申请实施例中,为了增加可靠性,管理主机可以确定出2个目标业务主机,即第二业务主机包括2个业务主机,第一业务主机可以分别向2个业务主机申请大小为n的内存池,在进行数据写时,分别将数据写入2个主机的内存池中,在进行数据读时,从任一内存池中读取数据即可,这样,当任一个业务主机的内存池故障时,可以保证数据可恢复,从而提高系统可靠性。
例如,业务主机A向业务主机B申请大小为n的内存池处理,申请后,产生:起始地址为rdma VA1虚拟地址,长度n的buffer池,记为R-buffer1。业务主机A向业务主机C申请大小为n的内存池处理,申请后,产生:起始地址为rdma VA1虚拟地址,长度n的buffer池,记为R-buffer2。业务主机A内存管理模块:从R-buffer1,分配地址R-VA1’。业务主机A内存管理模块:从R-buffer2,分配地址R-VA2’。业务主机A内存管理模块:在发生由客户机页表和影子页表不一致时,填充R-VX’到影子页表的页表项。rdma处理模块:完成由R-VX’到R-VA1’、R-VA2’的变换,即:在写时,同时写入R-VA1’,R-VA2’,在读时,读R-VA1’或R-VA2’。即R-buffer1和R-buffer2为副本关系。
当然,由于rdma地址要求是整段,连续的,若在集群整体内存资源紧张时,没有一个业务主机能提供可用的大段内存,则可选择有多个小段空闲内存的业务主机来解决。业务主机A向业务主机B申请m大小的内存,记为R-buffer1、向业务主机C申请n大小的内存池,记为R-buffer2。
业务主机A内存管理模块:先从R-buffer1申请内存。业务主机A内存管理模块:在发生由客户机页表和影子页表不一致时,填充R-VX’到影子页表的页表项。虚拟机通过影子页表,访问R-VX’,由rdma驱动及网卡硬件完成对业务主机B物理内存的访问。
业务主机A内存管理模块:当R-buffer1耗尽时,从R-buffer2申请内存。业务主机A内存管理模块:在发生由客户机页表和影子页表不一致时,填充R-VY’到影子页表的页表项。虚拟机通过影子页表,访问R-VY’,由rdma驱动及网卡硬件完成对业务主机C物理内存的访问。
示例性的,参阅图3所示,为本申请提供的另一种内存超配管理方法的详细流程图,该方法应用于集群中的管理主机,所述集群还包括若干业务主机,所述方法包括以下步骤:
步骤300:接收第一业务主机发送的通知,其中,所述第一业务主机在确定本地内存使用量大于等于设定阈值时,向所述管理主机发送通知;
步骤310:查询所述集群中除所述第一业务主机之外的其他业务主机的内存使用情况,并基于所述其他业务主机的内存使用情况,确定内存使用量满足预设要求的第二业务主机;
步骤320:将所述第二业务主机信息发送给所述第一业务主机,以使得所述第一业务主机与所述第二业务主机建立远程直接内存访问连接,并向所述第二业务主机申请内存池。
基于与上述应用于第一业务主机的方法实施例同样的发明构思,示例性的,参阅图4所示,为本申请实施例提供的一种内存超配管理装置的结构示意图,该装置应用于集群中的第一业务主机,所述集群还包括若干其他业务主机和管理主机,所述装置包括:
发送单元40,用于在确定本地内存使用量大于等于设定阈值时,向所述管理主机发送通知,以使得所述管理主机查询所述集群中所述其他业务主机的内存使用情况,并基于所述其他业务主机的内存使用情况,确定内存使用量满足预设要求的第二业务主机;
接收单元41,用于接收所述管理主机发送的所述第二业务主机信息;
申请单元42,用于基于所述第二业务主机信息与所述第二业务主机建立远程直接内存访问连接,并向所述第二业务主机申请内存池。
可选地,所述第二业务主机为一个或多个业务主机;向所述第二业务主机申请内存池时,所述申请单元42具体用于:
向所述第二业务主机发送内存申请请求消息,其中,所述内存申请请求消息包括申请的内存的大小;
接收所述第二业务主机发送的包含分配的指定大小的内存池的物理地址信息和使用所述指定大小的内存池的凭证的响应消息;
其中,若所述第二业务主机为多个业务主机,且所述多个业务主机均为所述第一业务主机分配有指定大小的内存池,多个指定大小的内存池被配置为高可用,则所述第一业务主机在进行数据写操作时,将数据分别写入多个指定大小的内存池,在进行数据读操作时,从多个指定大小的内存池中一个指定大小的内存池中读取数据;
若所述多个业务主机为所述第一业务主机分配的多个内存池的内存大小之和为所述指定大小,则将所述多个内存池作为一个逻辑内存池,在所述第一业务主机在进行数据写/数据读操作时,将数据写入所述逻辑内存池,或者,从所述逻辑内存池中读取数据。
可选地,所述装置还包括:
检测单元,当检测到本地运行的任一虚拟机申请内存时,将所述指定大小的内存池的目标内存分配给所述任一虚拟机使用,并将所述目标内存对应的物理地址标记为已使用状态;当检测到所述任一虚拟机释放所述目标内存时,将所述目标内存对应的物理地址标记为未使用状态;当检测到所述指定大小的内存池的空闲时长大于等于预设时长时,与所述第二业务主机断开远程直接内存访问连接,以使得所述第二业务主机回收所述指定大小的内存池。
可选地,
在确定本地内存使用量大于等于设定阈值时,将自身标记为不对外共享内存的,并通知所述管理主机,其中,一个业务主机在所述不对外共享内存的下,不对外提供内存使用服务。
第四方面,本申请提供了一种内存超配管理装置,应用于集群中的管理主机,所述集群还包括若干业务主机,所述装置包括:
接收单元,用于接收第一业务主机发送的通知,其中,所述第一业务主机在确定本地内存使用量大于等于设定阈值时,向所述管理主机发送通知;
查询单元,用于查询所述集群中除所述第一业务主机之外的其他业务主机的内存使用情况,并基于所述其他业务主机的内存使用情况,确定内存使用量满足预设要求的第二业务主机;
发送单元,用于将所述第二业务主机信息发送给所述第一业务主机,以使得所述第一业务主机与所述第二业务主机建立远程直接内存访问连接,并向所述第二业务主机申请内存池。
基于与上述应用于管理主机的方法实施例同样的发明构思,示例性的,参阅图5所示,为本申请实施例提供的一种内存超配管理装置的结构示意图,该装置应用于集群中的管理主机,所述集群还包括若干业务主机,所述装置包括:
接收单元50,用于接收第一业务主机发送的通知,其中,所述第一业务主机在确定本地内存使用量大于等于设定阈值时,向所述管理主机发送通知;
查询单元51,用于查询所述集群中除所述第一业务主机之外的其他业务主机的内存使用情况,并基于所述其他业务主机的内存使用情况,确定内存使用量满足预设要求的第二业务主机;
发送单元52,用于将所述第二业务主机信息发送给所述第一业务主机,以使得所述第一业务主机与所述第二业务主机建立远程直接内存访问连接,并向所述第二业务主机申请内存池。
以上这些单元可以是被配置成实施以上方法的一个或多个集成电路,例如:一个或多个特定集成电路(Application Specific Integrated Circuit,简称ASIC),或,一个或多个微处理器(digital singnal processor,简称DSP),或,一个或者多个现场可编程门阵列(Field Programmable Gate Array,简称FPGA)等。再如,当以上某个单元通过处理元件调度程序代码的形式实现时,该处理元件可以是通用处理器,例如中央处理器(CentralProcessing Unit,简称CPU)或其它可以调用程序代码的处理器。再如,这些单元可以集成在一起,以片上系统(system-on-a-chip,简称SOC)的形式实现。
进一步地,本申请实施例提供的内存超配管理装置,从硬件层面而言,所述内存超配管理装置的硬件架构示意图可以参见图6所示,所述内存超配管理装置可以包括:存储器60和处理器61,
存储器60用于存储程序指令;处理器61调用存储器60中存储的程序指令,按照获得的程序指令执行上述应用于第一业务主机的方法实施例。具体实现方式和技术效果类似,这里不再赘述。
可选地,本申请还提供一种业务主机,包括用于执行上述应用于第一业务主机的方法实施例的至少一个处理元件(或芯片)。
可选地,本申请还提供一种程序产品,例如计算机可读存储介质,该计算机可读存储介质存储有计算机可执行指令,该计算机可执行指令用于使该计算机执行上述应用于第一业务主机的方法实施例。
更进一步地,本申请实施例提供的内存超配管理装置,从硬件层面而言,该内存超配管理装置的硬件架构示意图可以参见图7所示,该内存超配管理装置可以包括:存储器70和处理器71,
存储器70用于存储程序指令;处理器71调用存储器70中存储的程序指令,按照获得的程序指令执行上述应用于管理主机的方法实施例。具体实现方式和技术效果类似,这里不再赘述。
可选地,本申请还提供一种管理主机,包括用于执行上述应用于管理主机的方法实施例的至少一个处理元件(或芯片)。
可选地,本申请还提供一种程序产品,例如计算机可读存储介质,该计算机可读存储介质存储有计算机可执行指令,该计算机可执行指令用于使该计算机执行上述应用于管理主机的方法实施例。
这里,机器可读存储介质可以是任何电子、磁性、光学或其它物理存储装置,可以包含或存储信息,如可执行指令、数据,等等。例如,机器可读存储介质可以是:RAM(RadomAccess Memory,随机存取存储器)、易失存储器、非易失性存储器、闪存、存储驱动器(如硬盘驱动器)、固态硬盘、任何类型的存储盘(如光盘、dvd等),或者类似的存储介质,或者它们的组合。
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机,计算机的具体形式可以是个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件收发设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任意几种设备的组合。
为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本申请时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可以由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其它可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其它可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
而且,这些计算机程序指令也可以存储在能引导计算机或其它可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或者多个流程和/或方框图一个方框或者多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其它可编程数据处理设备上,使得在计算机或者其它可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其它可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上所述仅为本申请的较佳实施例而已,并不用以限制本申请,凡在本申请的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请保护的范围之内。
Claims (10)
1.一种内存超配管理方法,其特征在于,应用于集群中的第一业务主机,所述集群还包括若干其他业务主机和管理主机,所述方法包括:
在确定本地内存使用量大于等于设定阈值时,向所述管理主机发送通知,以使得所述管理主机查询所述集群中所述其他业务主机的内存使用情况,并基于所述其他业务主机的内存使用情况,确定内存使用量满足预设要求的第二业务主机;
接收所述管理主机发送的所述第二业务主机信息;
基于所述第二业务主机信息与所述第二业务主机建立远程直接内存访问连接,并向所述第二业务主机申请内存池。
2.如权利要求1所述的方法,其特征在于,所述第二业务主机为一个或多个业务主机;向所述第二业务主机申请内存池的步骤包括:
向所述第二业务主机发送内存申请请求消息,其中,所述内存申请请求消息包括申请的内存的大小;
接收所述第二业务主机发送的包含分配的指定大小的内存池的物理地址信息和使用所述指定大小的内存池的凭证的响应消息;
其中,若所述第二业务主机为多个业务主机,且所述多个业务主机均为所述第一业务主机分配有指定大小的内存池,多个指定大小的内存池被配置为高可用,则所述第一业务主机在进行数据写操作时,将数据分别写入多个指定大小的内存池,在进行数据读操作时,从多个指定大小的内存池中一个指定大小的内存池中读取数据;
若所述多个业务主机为所述第一业务主机分配的多个内存池的内存大小之和为所述指定大小,则将所述多个内存池作为一个逻辑内存池,在所述第一业务主机在进行数据写/数据读操作时,将数据写入所述逻辑内存池,或者,从所述逻辑内存池中读取数据。
3.如权利要求1或2所述的方法,其特征在于,所述方法还包括:
当检测到本地运行的任一虚拟机申请内存时,将所述指定大小的内存池的目标内存分配给所述任一虚拟机使用,并将所述目标内存对应的物理地址标记为已使用状态;
当检测到所述任一虚拟机释放所述目标内存时,将所述目标内存对应的物理地址标记为未使用状态;
当检测到所述指定大小的内存池的空闲时长大于等于预设时长时,与所述第二业务主机断开远程直接内存访问连接,以使得所述第二业务主机回收所述指定大小的内存池。
4.如权利要求1所述的方法,其特征在于,所述方法还包括:
在确定本地内存使用量大于等于设定阈值时,将自身标记为不对外共享内存的,并通知所述管理主机,其中,一个业务主机在所述不对外共享内存的下,不对外提供内存使用服务。
5.一种内存超配管理方法,其特征在于,应用于集群中的管理主机,所述集群还包括若干业务主机,所述方法包括:
接收第一业务主机发送的通知,其中,所述第一业务主机在确定本地内存使用量大于等于设定阈值时,向所述管理主机发送通知;
查询所述集群中除所述第一业务主机之外的其他业务主机的内存使用情况,并基于所述其他业务主机的内存使用情况,确定内存使用量满足预设要求的第二业务主机;
将所述第二业务主机信息发送给所述第一业务主机,以使得所述第一业务主机与所述第二业务主机建立远程直接内存访问连接,并向所述第二业务主机申请内存池。
6.一种内存超配管理装置,其特征在于,应用于集群中的第一业务主机,所述集群还包括若干其他业务主机和管理主机,所述装置包括:
发送单元,用于在确定本地内存使用量大于等于设定阈值时,向所述管理主机发送通知,以使得所述管理主机查询所述集群中所述其他业务主机的内存使用情况,并基于所述其他业务主机的内存使用情况,确定内存使用量满足预设要求的第二业务主机;
接收单元,用于接收所述管理主机发送的所述第二业务主机信息;
申请单元,用于基于所述第二业务主机信息与所述第二业务主机建立远程直接内存访问连接,并向所述第二业务主机申请内存池。
7.如权利要求6所述的装置,其特征在于,所述第二业务主机为一个或多个业务主机;向所述第二业务主机申请内存池时,所述申请单元具体用于:
向所述第二业务主机发送内存申请请求消息,其中,所述内存申请请求消息包括申请的内存的大小;
接收所述第二业务主机发送的包含分配的指定大小的内存池的物理地址信息和使用所述指定大小的内存池的凭证的响应消息;
其中,若所述第二业务主机为多个业务主机,且所述多个业务主机均为所述第一业务主机分配有指定大小的内存池,多个指定大小的内存池被配置为高可用,则所述第一业务主机在进行数据写操作时,将数据分别写入多个指定大小的内存池,在进行数据读操作时,从多个指定大小的内存池中一个指定大小的内存池中读取数据;
若所述多个业务主机为所述第一业务主机分配的多个内存池的内存大小之和为所述指定大小,则将所述多个内存池作为一个逻辑内存池,在所述第一业务主机在进行数据写/数据读操作时,将数据写入所述逻辑内存池,或者,从所述逻辑内存池中读取数据。
8.如权利要求6或7所述的装置,其特征在于,所述装置还包括:
检测单元,当检测到本地运行的任一虚拟机申请内存时,将所述指定大小的内存池的目标内存分配给所述任一虚拟机使用,并将所述目标内存对应的物理地址标记为已使用状态;当检测到所述任一虚拟机释放所述目标内存时,将所述目标内存对应的物理地址标记为未使用状态;当检测到所述指定大小的内存池的空闲时长大于等于预设时长时,与所述第二业务主机断开远程直接内存访问连接,以使得所述第二业务主机回收所述指定大小的内存池。
9.如权利要求6所述的装置,其特征在于,所述装置还包括:
在确定本地内存使用量大于等于设定阈值时,将自身标记为不对外共享内存的,并通知所述管理主机,其中,一个业务主机在所述不对外共享内存的下,不对外提供内存使用服务。
10.一种内存超配管理装置,其特征在于,应用于集群中的管理主机,所述集群还包括若干业务主机,所述装置包括:
接收单元,用于接收第一业务主机发送的通知,其中,所述第一业务主机在确定本地内存使用量大于等于设定阈值时,向所述管理主机发送通知;
查询单元,用于查询所述集群中除所述第一业务主机之外的其他业务主机的内存使用情况,并基于所述其他业务主机的内存使用情况,确定内存使用量满足预设要求的第二业务主机;
发送单元,用于将所述第二业务主机信息发送给所述第一业务主机,以使得所述第一业务主机与所述第二业务主机建立远程直接内存访问连接,并向所述第二业务主机申请内存池。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110440200.9A CN113204407B (zh) | 2021-04-22 | 2021-04-22 | 一种内存超配管理方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110440200.9A CN113204407B (zh) | 2021-04-22 | 2021-04-22 | 一种内存超配管理方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113204407A true CN113204407A (zh) | 2021-08-03 |
CN113204407B CN113204407B (zh) | 2024-01-09 |
Family
ID=77028075
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110440200.9A Active CN113204407B (zh) | 2021-04-22 | 2021-04-22 | 一种内存超配管理方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113204407B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113778624A (zh) * | 2021-08-27 | 2021-12-10 | 广州虎牙科技有限公司 | 对象的处理方法和装置、智能终端及存储介质 |
CN114968840A (zh) * | 2022-07-29 | 2022-08-30 | 北京永洪商智科技有限公司 | 一种内存使用量控制方法及系统 |
WO2023035694A1 (zh) * | 2021-09-11 | 2023-03-16 | 华为技术有限公司 | 业务系统、内存管理方法及装置 |
CN116680206A (zh) * | 2023-08-04 | 2023-09-01 | 浪潮电子信息产业股份有限公司 | 内存扩展方法、装置、系统、电子设备及可读存储介质 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101207515A (zh) * | 2007-12-12 | 2008-06-25 | 中兴通讯股份有限公司 | 一种多机共享内存的处理方法、实现方法和同步方法 |
CN101594309A (zh) * | 2009-06-30 | 2009-12-02 | 华为技术有限公司 | 集群系统中内存资源的管理方法、设备及网络系统 |
US20100058358A1 (en) * | 2008-08-27 | 2010-03-04 | International Business Machines Corporation | Method and apparatus for managing software controlled cache of translating the physical memory access of a virtual machine between different levels of translation entities |
WO2014015697A1 (zh) * | 2012-05-04 | 2014-01-30 | 运软网络科技(上海)有限公司 | 一种虚拟网络的自主管理系统和方法 |
CN105094997A (zh) * | 2015-09-10 | 2015-11-25 | 重庆邮电大学 | 一种云计算主机节点间物理内存共享方法和系统 |
US20160239430A1 (en) * | 2015-02-12 | 2016-08-18 | Red Hat Israel, Ltd. | Local access dma with shared memory pool |
CN111679921A (zh) * | 2020-06-09 | 2020-09-18 | Oppo广东移动通信有限公司 | 内存共享方法、内存共享装置及终端设备 |
-
2021
- 2021-04-22 CN CN202110440200.9A patent/CN113204407B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101207515A (zh) * | 2007-12-12 | 2008-06-25 | 中兴通讯股份有限公司 | 一种多机共享内存的处理方法、实现方法和同步方法 |
US20100058358A1 (en) * | 2008-08-27 | 2010-03-04 | International Business Machines Corporation | Method and apparatus for managing software controlled cache of translating the physical memory access of a virtual machine between different levels of translation entities |
CN101594309A (zh) * | 2009-06-30 | 2009-12-02 | 华为技术有限公司 | 集群系统中内存资源的管理方法、设备及网络系统 |
WO2014015697A1 (zh) * | 2012-05-04 | 2014-01-30 | 运软网络科技(上海)有限公司 | 一种虚拟网络的自主管理系统和方法 |
US20160239430A1 (en) * | 2015-02-12 | 2016-08-18 | Red Hat Israel, Ltd. | Local access dma with shared memory pool |
CN105094997A (zh) * | 2015-09-10 | 2015-11-25 | 重庆邮电大学 | 一种云计算主机节点间物理内存共享方法和系统 |
CN111679921A (zh) * | 2020-06-09 | 2020-09-18 | Oppo广东移动通信有限公司 | 内存共享方法、内存共享装置及终端设备 |
Non-Patent Citations (4)
Title |
---|
陈昊罡;汪小林;王振林;靳辛欣;温翔;罗英伟;李晓明;: "面向虚拟机的远程磁盘缓存", 计算机科学与探索, no. 12 * |
韩高帅;程知群;章超;: "基于云计算平台的虚拟机内存管理系统", 电子世界, no. 21 * |
韩高帅等: "基于云计算平台的虚拟机内存管理系统", 《电子世界》 * |
韩高帅等: "基于云计算平台的虚拟机内存管理系统", 《电子世界》, no. 21, 8 November 2016 (2016-11-08) * |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113778624A (zh) * | 2021-08-27 | 2021-12-10 | 广州虎牙科技有限公司 | 对象的处理方法和装置、智能终端及存储介质 |
WO2023035694A1 (zh) * | 2021-09-11 | 2023-03-16 | 华为技术有限公司 | 业务系统、内存管理方法及装置 |
CN114968840A (zh) * | 2022-07-29 | 2022-08-30 | 北京永洪商智科技有限公司 | 一种内存使用量控制方法及系统 |
CN114968840B (zh) * | 2022-07-29 | 2022-11-01 | 北京永洪商智科技有限公司 | 一种内存使用量控制方法及系统 |
CN116680206A (zh) * | 2023-08-04 | 2023-09-01 | 浪潮电子信息产业股份有限公司 | 内存扩展方法、装置、系统、电子设备及可读存储介质 |
CN116680206B (zh) * | 2023-08-04 | 2024-01-12 | 浪潮电子信息产业股份有限公司 | 内存扩展方法、装置、系统、电子设备及可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN113204407B (zh) | 2024-01-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113204407B (zh) | 一种内存超配管理方法及装置 | |
US20190220418A1 (en) | Memory Management Method and Apparatus | |
JP5510556B2 (ja) | 仮想マシンのストレージスペースおよび物理ホストを管理するための方法およびシステム | |
US8402200B2 (en) | Method and apparatus for storing and restoring state of virtual machine | |
CN104462225B (zh) | 一种数据读取的方法、装置及系统 | |
US11726707B2 (en) | System and method of writing to nonvolatile memory using write buffers | |
US20130145073A1 (en) | Memory defragmentation in a hosted hypervisor | |
CN111679921A (zh) | 内存共享方法、内存共享装置及终端设备 | |
CN110704161B (zh) | 虚拟机创建方法、装置及计算机设备 | |
CN112291382B (zh) | 一种ip地址分配方法及装置 | |
WO2021057489A1 (zh) | 虚拟机内存管理的方法及设备 | |
US9697047B2 (en) | Cooperation of hoarding memory allocators in a multi-process system | |
US8751724B2 (en) | Dynamic memory reconfiguration to delay performance overhead | |
CN108139983A (zh) | 用于在多级系统存储器中固定存储器页面的方法和设备 | |
CN112925606A (zh) | 一种内存管理方法、装置及设备 | |
CN110750221A (zh) | 卷克隆方法、装置、电子设备及机器可读存储介质 | |
CN114201269A (zh) | 内存换页方法、系统及存储介质 | |
CN112596669A (zh) | 一种基于分布式存储的数据处理方法及装置 | |
CN105677481A (zh) | 一种数据处理方法、系统及电子设备 | |
US20240143220A1 (en) | Data swapping method and apparatus | |
CN110447019B (zh) | 存储器分配管理器及由其执行的用于管理存储器分配的方法 | |
CN118069575A (zh) | 一种存储空间管理方法及管理设备 | |
CN112988460B (zh) | 一种虚拟机的数据备份方法及装置 | |
CN113268356B (zh) | 基于LINUX系统的多GPU板卡bounding的系统、方法及介质 | |
CN111984430A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |