CN103488523A - 一种页的访问方法和页的访问装置、服务器 - Google Patents
一种页的访问方法和页的访问装置、服务器 Download PDFInfo
- Publication number
- CN103488523A CN103488523A CN201310446994.5A CN201310446994A CN103488523A CN 103488523 A CN103488523 A CN 103488523A CN 201310446994 A CN201310446994 A CN 201310446994A CN 103488523 A CN103488523 A CN 103488523A
- Authority
- CN
- China
- Prior art keywords
- page
- page object
- virtual machine
- described page
- cryptographic hash
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/15—Use in a specific computing environment
- G06F2212/151—Emulated environment, e.g. virtual machine
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/15—Use in a specific computing environment
- G06F2212/152—Virtualized environment, e.g. logically partitioned system
Abstract
本发明的实施例提供一种页的访问方法和页的访问装置、服务器,涉及计算机领域,能够在提高内存利用率的同时,降低硬盘的开销。具体方案为:在虚拟机访问目标页发生缺页时,判断目标页的缺页类型,缺页类型包括目标页不存在,或目标页被置换;若目标页不存在,则新建目标页并使虚拟机访问新建的目标页,获取并保存目标页特征参数;若目标页被置换,则查找与目标页的特征参数相同的页,查找到与目标页的特征参数相同的页后,使虚拟机访问与目标页的特征参数相同的页。本发明用于虚拟机间页的访问。
Description
技术领域
本发明涉及计算机领域,尤其涉及一种页的访问方法和页的访问装置、服务器。
背景技术
虚拟机(Virtual Machine)是指通过软件模拟的具有完整硬件系统功能的,运行在一个完全隔离环境中的完整计算机系统,通过虚拟机软件,在一台物理计算机(比如个人电脑或服务器)上可以模拟出一台或多台虚拟的计算机,这些虚拟机可以进行与真正的计算机一样的工作。在现有技术中,服务器能够运行的虚拟机越来越多,而每个虚拟机访问的数据有很多相似的地方,比如在内存中有大量的页内容相同的页(内存的物理地址被分成离散的单元,这些离散的单元对应的内存称为页,目前大多数系统的页面大小都为4KB)。因此,为了提高服务器内存的利用率,现有技术通常采用内存合并以及内存置换等技术。
其中,内存合并也可以称为内核相同页管理(Kernel SamepageMerging,KSM),该技术通过定期执行页扫描,识别相同页并将相同页合并为一页(该页标记为只读),合并后将除该页之外的相同页的空间释放以供他用,因此,该技术能够把多个处理器中相同的内存页合并为一页。
现有技术中至少存在如下问题:
如果在合并之后,合并的页被置换出内存(置换,是指为了节省内存的存储资源,将内存中的页置换到硬盘上的技术,通常会置换到硬盘中的数据交换分区),将会导致缺页(CPU从内存读取/写入数据,而数据未在内存,这种情况称之为缺页)的概率大大增加,此时虚拟机需要到硬盘才能够访问需要访问的页内容,进而导致了内存的利用率较低以及硬盘的开销大的问题。
发明内容
本发明的实施例提供一种页的访问方法和页的访问装置、服务器,在提高内存利用率的同时,解决了内存的利用率较低以及硬盘的开销大的问题。
为达到上述目的,本发明的实施例采用如下技术方案:
第一方面,提供一种页的访问方法,所述方法包括:
在虚拟机访问目标页发生缺页时,判断所述目标页的缺页类型,所述缺页类型包括所述目标页不存在,或所述目标页被置换;
若所述目标页不存在,则新建所述目标页并使所述虚拟机访问所述新建的所述目标页,获取并保存所述目标页特征参数;若所述目标页被置换,查找到与所述目标页的特征参数相同的页后,使所述虚拟机访问所述与所述目标页的特征参数相同的页。
结合第一方面,在第一种可能的实现方式中,所述特征参数是页内容的哈希值。
结合第一方面或第一方面的第一种可能的实现方式,在第二种可能的实现方式中,所述新建所述目标页并使所述虚拟机访问所述新建的所述目标页,获取并保存所述目标页特征参数包括:
新建所述目标页,向所述目标页填充所述虚拟机需要访问的页内容并使所述虚拟机访问所述新建的所述目标页;
获取所述目标页中填充的所述页内容的哈希值;
将所述目标页的哈希值作为所述目标页的特征参数保存在缺页页表中。
结合第一方面或第一方面的第一种可能的实现方式,在第三种可能的实现方式中,所述查找与所述目标页的特征参数相同的页包括:
根据所述目标页在所述虚拟机上的物理地址获取所述目标页在服务器上的物理地址;
根据所述目标页在服务器上的物理地址获取所述目标页的哈希值;
根据所述目标页的哈希值,查找与所述目标页具有相同哈希值的页。
结合第一方面的第三种可能的实现方式,在第四种可能的实现方式中,
所述根据所述目标页在服务器上的物理地址获取所述目标页的哈希值包括:
根据所述目标页在服务器上的物理地址在缺页页表中查询与所述目标页在服务器上的物理地址对应的哈希值。
第二方面,提供一种页的访问装置,所述装置包括:
判断单元,用于在虚拟机访问目标页发生缺页时,判断所述目标页的缺页类型,所述缺页类型包括所述目标页不存在,或所述目标页被置换;
缺页处理单元,用于若所述目标页不存在,则新建所述目标页并使所述虚拟机访问所述新建的所述目标页,获取并保存所述目标页特征参数;则查找与所述目标页的特征参数相同的页,查找到与所述目标页的特征参数相同的页后,使所述虚拟机访问所述与所述目标页的特征参数相同的页。
结合第二方面,在第一种可能的实现方式中,所述特征参数是页内容的哈希值。
结合第二方面或第二方面的第一种可能的实现方式,在第二种可能的实现方式中,所述缺页处理单元包括:
创建单元,用于新建所述目标页,向所述目标页填充所述虚拟机需要访问的页内容并使所述虚拟机访问所述新建的所述目标页;
哈希值获取单元,用于获取所述目标页中填充的所述页内容的哈希值;
存储单元,用于将所述目标页的哈希值作为所述目标页的特征参数保存在缺页页表中。
结合第二方面或第二方面的第一种可能的实现方式,在第三种可能的实现方式中,所述缺页处理单元包括:
页映射单元,用于根据所述目标页在所述虚拟机上的物理地址获取所述目标页在服务器上的物理地址;
所述页映射单元还用于根据所述目标页在服务器上的物理地址获取所述目标页的哈希值;
匹配单元,用于根据所述目标页的哈希值,查找与所述目标页具有相同哈希值的页。
结合第二方面的第三种可能的实现方式,在第四种可能的实现方式中,所述页映射单元具体用于:
根据所述目标页在服务器上的物理地址在缺页页表中查询与所述目标页在服务器上的物理地址对应的哈希值。
第三方面,提供一种服务器,所述服务器包括:
第二方面所述的任意一种页的访问装置;虚拟机管理平台,所述虚拟机管理平台上至少运行有两台虚拟机;所述页的访问装置设置在所述虚拟机管理平台上,所述页的访问装置与虚拟机之间独立,并行运行在虚拟机管理平台上。
本发明的实施例提供一种页的访问方法和页的访问装置、服务器,在虚拟机访问目标页发生缺页时,判断所述目标页的缺页类型,所述缺页类型包括所述目标页不存在,或所述目标页被置换;若所述目标页不存在,则新建所述目标页并使所述虚拟机访问所述新建的所述目标页,获取并保存所述目标页特征参数;若所述目标页被置换,则查找与目标页的特征参数相同的页,在查找到与目标页的特征参数相同的页后,使虚拟机访问与目标页的特征参数相同的页。这样在虚拟机需要访问的目标页发生缺页时,找出并访问与目标页相同的页,相比现有在缺页时直接访问硬盘而言,避免了内存与硬盘之间频繁的数据交换,从而在提高内存利用率的同时,降低了硬盘的开销。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种页的访问方法的流程示意图一;
图2为本发明实施例提供的一种页的访问方法的流程示意图二;
图3为本发明实施例提供的一种页的访问装置的结构示意图一;
图4为本发明实施例提供的一种页的访问装置的结构示意图二;
图5为本发明实施例提供的一种页的访问装置的结构示意图三;
图6为本发明实施例提供的一种页的访问装置的结构示意图四;
图7为本发明实施例提供的一种服务器的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例提供一种页的访问方法,如图1所示,该方法包括:
101、在虚拟机访问目标页发生缺页时,判断目标页的缺页类型,缺页类型包括目标页不存在,或目标页被置换。
102、若目标页不存在,则新建目标页并使虚拟机访问新建的目标页,获取并保存目标页特征参数。
103、若目标页被置换,则查找与目标页的特征参数相同的页,查找到与目标页的特征参数相同的页后,使虚拟机访问与目标页的特征参数相同的页。
本发明的实施例提供一种页的访问方法,在虚拟机访问目标页发生缺页时,判断目标页的缺页类型,缺页类型包括目标页不存在,或目标页被置换;若目标页不存在,则新建目标页并使虚拟机访问新建的目标页,获取并保存目标页特征参数;若目标页被置换,则查找与目标页的特征参数相同的页,在查找到与目标页的特征参数相同的页后,使虚拟机访问与目标页的特征参数相同的页。这样在虚拟机需要访问的目标页发生缺页时,找出并访问与目标页相同的页,相比现有在缺页时直接访问硬盘而言,避免了内存与硬盘之间频繁的数据交换,从而在提高内存利用率的同时,降低了硬盘的开销。
为了使本领域技术人员能够更清楚地理解本发明实施例提供的技术方案,下面通过具体的实施例,对本发明的实施例提供的一种页的访问方法进行详细说明,在下面的实施例中,示例性的以哈希值作为页的特征参数,如图2所示,该方法包括:
201、在虚拟机访问目标页发生缺页时,判断目标页的缺页类型,缺页类型包括目标页不存在,或目标页被置换,若目标页不存在则执行202~204;若目标页被置换则执行205~207。
202、若目标页不存在,则新建目标页,并且向目标页填充虚拟机需要访问的页内容。
具体的,目标页是指虚拟机要访问的页,虚拟机要访问目标页需要在内存或者硬盘中的数据交换(Swap)分区中,虚拟机才可以访问该目标页。如果在内存或者Swap分区中没有虚拟机要访问的页,则认为虚拟机要访问的页不存在,即目标页不存在,此时就需要在内存中新建一个页,并将虚拟机需要访问的页的页内容填充到该页中,从而得到了一个新建的目标页,然后虚拟机才可以访问该新建的目标页。
另外,在上述的需要新建页的情况下,虚拟机要访问的页的页内容对于运行虚拟机的物理实体,比如服务器而言是已知的,但是没有存储在内存或者硬盘与内存的Swap分区中。示例性的,可以存储在硬盘中除Swap分区以外的硬盘空间或者云端服务器中。
203、使虚拟机访问新建的目标页。另外,指的注意的是,203和204没有固定的执行顺序,本实施例所呈现的顺序是其中一种情况,也可以执行204后再执行203,或者同时执行。
204、获取目标页中填充的页内容的哈希值,并将目标页的哈希值作为目标页的特征参数保存在缺页页表中。
示例性的,可以利用预设的哈希算法获取填充的页内容的哈希值,而后将得到的哈希值保存在缺页页表中。
其中,缺页页表的结构如表1所示,缺页页表的表项中包括虚拟机的编号(或者索引)、与虚拟机编号对应的页物理地址、页哈希值。其中,缺页页表的表项数目(比如表1中的n)可以根据服务器中的虚拟机数量、内存大小来计算,例如,假设一台服务器的内存为20G,在该服务器上建立有100台虚拟机,那么就需要20G/100/4k(4k为页大小)=50000个表项。表项中的页物理地址为页在服务器上的物理地址,该页物理地址可以根据虚拟机物理地址查询P2M(Physical toMachine,物理到机器)表获得,上述P2M表是虚拟机物理地址与服务器物理地址的映射表。而表项中的页哈希值,具体是根据输入页内容通过哈希算法获取的,因此具有相同页内容的页的哈希值也相同,而页内容一旦修改需重新计算该页的哈希值。
表1
虚拟机编号 | 页物理地址 | 页的哈希值 |
1 | 0x01110 | 10006 |
2 | 0x01156 | 10006 |
… | … | … |
n | XXX | XXX |
205、若目标页被置换,根据目标页在虚拟机上的物理地址通过P2M表查找目标页在服务器上的物理地址。
206、根据目标页在服务器上的物理地址在缺页页表中查询与目标页在服务器上的物理地址对应的哈希值。
207、根据目标页的哈希值,在缺页页表中查找与目标页具有相同哈希值且在内存中的页,使虚拟机访问查找到的与目标页具有相同哈希值且在内存中的页。
示例性的,可以在缺页页表中的每一个表项中预设有一个指示字段,字段值可以为0或1,,其中,0表示该表项对应的页在硬盘中不在内存,1表示该表项对应的页在内存中的,例如表2所示:
表2
虚拟机编号 | 页物理地址 | 页的哈希值 | 指示字段 |
1 | 0x01110 | 10006 | 0 |
2 | 0x01156 | 10006 | 1 |
… | … | … | … |
n | XXX | XXX | 1 |
或者,在缺页页表中查找与目标页具有相同哈希值的页后,根据具有相同哈希值的页在P2M表中的存在(Present)标志位来判断该页的存在属性,若Present=1表示该页在内存中;若Present=0表示该页在硬盘中不在内存。
在查找到与目标页具有相同哈希值且在内存中的页之后,具体的,如果是虚拟机需要读该目标页,则由虚拟机直接读取查找到的与目标页具有相同哈希值且在内存中的页;如果是虚拟机需要写该目标页,则先要将查找到的与目标页具有相同哈希值且仍在内存中的页进行拷贝,而后对拷贝的页进行写操作,然后采用回写技术写到硬盘上。
举例说明:虚拟机1的进程A访问目标页1,发生缺页,在判断后确定缺页类型为目标页1不存在,则新建该目标页,并且填充该目标页的内容,根据该目标页的内容计算哈希值并保存在缺页页表中;虚拟机2进程B访问目标页2,发生缺页,判断后确定缺页类型为目标页2被置换到硬盘中,则在缺页页表中查询与目标页2相同哈希值的页,若查找到的与目标页2哈希值相同的页在缺页页表中的指示字段的值为1则说明该页在内存中,而后虚拟机就可以直接可以对该页进行读写操作,其中,如果是读操作则直接读取,如果是写操作,则拷贝该页后对对拷贝的页进行写操作,然后采用回写技术写到硬盘上;若缺页页表中的与目标页2哈希值相同的页的指示字段值都为0,则执行数据交换(Swap)操作,Swap操作可理解为内存与硬盘之间的数据交换。
另外,需要说明的是,若与目标页具有相同哈希值的页在内存中,则虚拟机可以直接对该页进行访问,如果与目标页具有相同哈希值的页不在内存,而在硬盘的数据交换分区中,则虚拟机需要到硬盘的数据交换分区访问需要的页。
综上所述,本发明的实施例提供的页的访问方法,通过在虚拟机访问目标页发生缺页时,判断目标页的缺页类型,缺页类型包括目标页不存在,或目标页被置换;若目标页不存在,则新建目标页并使虚拟机访问新建的目标页,并且向目标页填充虚拟机需要访问的页内容,而后获得目标页中填充的页内容的哈希值,再将目标页的哈希值保存在缺页页表中;若目标页被置换,根据目标页在虚拟机上的物理地址获取目标页在服务器上的物理地址,根据目标页在服务器上的物理地址在缺页页表中查询与目标页在服务器上的物理地址对应的哈希值,根据目标页的哈希值,查找与目标页具有相同哈希值且在内存中的页,而后虚拟机访问查找到的与目标页具有相同哈希值且在内存中的页,相比现有技术在缺页时直接访问硬盘而言,大大降低了访问硬盘的次数,从而避免了内存与硬盘之间频繁的数据交换,降低了硬盘的开销。而且,在现有的内存合并技术中,由于需要定期的扫描内存中的所有页以便找出相同页进行合并,但是内存中的有些页不会被经常访问,而且在系统空闲时也没有必要进行页扫描,所以定期的扫描内存中的所有页会使CPU的消耗非常大,而本发明不需要定期的扫描内存中的所有页,因此CPU的消耗低,能够节省系统开销。
本发明的实施例还提供一种页的访问装置00,如图3所示,装置包括:
判断单元10,用于在虚拟机访问目标页发生缺页时,判断目标页的缺页类型,缺页类型包括目标页不存在,或目标页被置换。
缺页处理单元20,用于若目标页不存在,则新建目标页并使虚拟机访问新建的目标页,获取并保存目标页特征参数;若目标页被置换,则查找与目标页的特征参数相同的页,查找到与目标页的特征参数相同的页后,使虚拟机访问与目标页的特征参数相同的页。
其中,特征参数可以为页内容的哈希值。
可选的,如图4所示,缺页处理单元20可以包括:
创建单元21,用于新建目标页,向目标页填充虚拟机需要访问的页内容并使虚拟机访问新建的目标页。
哈希值获取单元22,用于获取目标页中填充的页内容的哈希值。
存储单元23,用于将目标页的哈希值作为目标页的特征参数保存在缺页页表中。
可选的,如图5所示,缺页处理单元020可以还包括:
页映射单元24,用于根据目标页在虚拟机上的物理地址获取目标页在服务器上的物理地址,还用于根据目标页在服务器上的物理地址在缺页页表中查询与目标页在服务器上的物理地址对应的哈希值。
匹配单元25,用于根据目标页的哈希值,查找与目标页具有相同哈希值的页。
可选的,页映射单元24可以具体用于:
根据目标页在服务器上的物理地址在缺页页表中查询与目标页在服务器上的物理地址对应的哈希值。
本发明的实施例提供一种页的访问装置,在虚拟机访问目标页发生缺页时,判断目标页的缺页类型,缺页类型包括目标页不存在,或目标页被置换;若目标页不存在,则新建目标页并使虚拟机访问新建的目标页,获取并保存目标页特征参数;若目标页被置换,则查找与目标页的特征参数相同的页,在查找到与目标页的特征参数相同的页后,使虚拟机访问与目标页的特征参数相同的页。这样在虚拟机需要访问的目标页发生缺页时,找出并访问与目标页相同的页,相比现有技术在缺页时直接访问硬盘而言,避免了内存与硬盘之间频繁的数据交换,从而在提高内存利用率的同时,降低了硬盘的开销。
本发明实施例还提供了一种页的访问装置90,如图6所示,该装置90包括:总线94;以及连接到总线94的处理器91、存储器92和接口93,其中该接口93用于通信;该存储器92用于存储指令,处理器91用于执行该指令用于:
在虚拟机访问目标页发生缺页时,判断目标页的缺页类型,缺页类型包括目标页不存在,或目标页被置换;
若目标页不存在,则新建目标页并使虚拟机访问新建的目标页,获取并保存目标页特征参数;若目标页被置换,则查找与目标页的特征参数相同的页,查找到与目标页的特征参数相同的页后,使虚拟机访问与目标页的特征参数相同的页。
可选地,上述特征参数可以为页内容的哈希值。
可选地,处理器91执行该指令用于新建目标页,获取并保存目标页特征参数,具体可以包括:
新建目标页,向目标页填充虚拟机需要访问的页内容并使虚拟机访问新建的目标页;
获取目标页中填充的页内容的哈希值;
将目标页的哈希值作为所述目标页的特征参数保存在缺页页表中。
可选地,处理器91执行该指令用于查找与目标页的特征参数相同的页,具体可以包括:
根据目标页在虚拟机上的物理地址获取目标页在服务器上的物理地址;
根据目标页在服务器上的物理地址获取目标页的哈希值;
根据目标页的哈希值,查找与目标页具有相同哈希值的页。
可选地,处理器91执行该指令用于根据目标页在服务器上的物理地址获取目标页的哈希值具体包括:
根据目标页在服务器上的物理地址在缺页页表中查询与目标页在服务器上的物理地址对应的哈希值。
本发明的实施例提供一种页的访问装置,在虚拟机访问目标页发生缺页时,判断目标页的缺页类型,缺页类型包括目标页不存在,或目标页被置换;则新建目标页并使虚拟机访问新建的目标页,获取并保存目标页特征参数;若目标页被置换,则查找与目标页的特征参数相同的页,在查找到与目标页的特征参数相同的页后,使虚拟机访问与目标页的特征参数相同的页。这样在虚拟机需要访问的目标页发生缺页时,找出并访问与目标页相同的页,相比现有在缺页时直接访问硬盘而言,避免了内存与硬盘之间频繁的数据交换,从而在提高内存利用率的同时,降低了硬盘的开销。
本发明实施例还提供一种服务器000,如图7所示,服务器000包括:
页的访问装置00/90;
虚拟机管理平台11,用于在服务器操作系统上模拟虚拟机运行所需的环境并管理各个虚拟机,在虚拟机管理平台11上运行有至少两台虚拟机。
其中,页的访问装置00/90设置在虚拟机管理平台11上。
本发明的实施例提供一种服务器,在虚拟机访问目标页发生缺页时,判断目标页的缺页类型,缺页类型包括目标页不存在,或目标页被置换;则新建目标页并使虚拟机访问新建的目标页,获取并保存目标页特征参数;若目标页被置换,则查找与目标页的特征参数相同的页,在查找到与目标页的特征参数相同的页后,使虚拟机访问与目标页的特征参数相同的页。这样在虚拟机需要访问的目标页发生缺页时,找出并访问与目标页相同的页,相比现有在缺页时直接访问硬盘而言,避免了内存与硬盘之间频繁的数据交换,从而在提高内存利用率的同时,降低了硬盘的开销。
本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
以上所描述的装置和服务器实施例仅仅是示意性的,例如,模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。另一点,所显示或讨论的模块相互之间的连接可以是通过一些接口,可以是电性,机械或其它的形式。所述各个模块可以是或者也可以不是物理上分开的,可以是或者也可以不是物理单元。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能模块可以集成在一个处理模块中,也可以是各个模块单独物理包括,也可以两个或两个以上模块集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用硬件加软件功能模块的形式实现。
上述以软件功能单元的形式实现的集成的模块,可以存储在一个计算机可读取存储介质中。上述软件功能模块存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-OnlyMemory,简称ROM)、随机存取存储器(Random Access Memory,简称RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。
Claims (11)
1.一种页的访问方法,其特征在于,所述方法包括:
在虚拟机访问目标页发生缺页时,判断所述目标页的缺页类型,所述缺页类型包括所述目标页不存在,或所述目标页被置换;
若所述目标页不存在,则新建所述目标页并使所述虚拟机访问所述新建的所述目标页,获取并保存所述目标页特征参数;若所述目标页被置换,则查找与所述目标页的特征参数相同的页,查找到与所述目标页的特征参数相同的页后,使所述虚拟机访问所述与所述目标页的特征参数相同的页。
2.根据权利要求1所述的方法,其特征在于,所述特征参数是页内容的哈希值。
3.根据权利要求1或2所述的方法,其特征在于,所述新建所述目标页并使所述虚拟机访问所述新建的所述目标页,获取并保存所述目标页特征参数包括:
新建所述目标页,向所述目标页填充所述虚拟机需要访问的页内容并使所述虚拟机访问所述新建的所述目标页;
获取所述目标页中填充的所述页内容的哈希值;
将所述目标页的哈希值作为所述目标页的特征参数保存在缺页页表中。
4.根据权利要求1或2所述的方法,其特征在于,所述查找与所述目标页的特征参数相同的页包括:
根据所述目标页在所述虚拟机上的物理地址获取所述目标页在服务器上的物理地址;
根据所述目标页在服务器上的物理地址获取所述目标页的哈希值;
根据所述目标页的哈希值,查找与所述目标页具有相同哈希值的页。
5.根据权利要求4所述的方法,其特征在于,所述根据所述目标页在服务器上的物理地址获取所述目标页的哈希值包括:
根据所述目标页在服务器上的物理地址在缺页页表中查询与所述目标页在服务器上的物理地址对应的哈希值。
6.一种页的访问装置,其特征在于,所述装置包括:
判断单元,用于在虚拟机访问目标页发生缺页时,判断所述目标页的缺页类型,所述缺页类型包括所述目标页不存在,或所述目标页被置换;
缺页处理单元,用于若所述目标页不存在,则新建所述目标页并使所述虚拟机访问所述新建的所述目标页,获取并保存所述目标页特征参数;则查找与所述目标页的特征参数相同的页,查找到与所述目标页的特征参数相同的页后,使所述虚拟机访问所述与所述目标页的特征参数相同的页。
7.根据权利要求6所述的装置,其特征在于,所述特征参数是页内容的哈希值。
8.根据权利要求6或7所述的装置,其特征在于,所述缺页处理单元包括:
创建单元,用于新建所述目标页,向所述目标页填充所述虚拟机需要访问的页内容并使所述虚拟机访问所述新建的所述目标页;
哈希值获取单元,用于获取所述目标页中填充的所述页内容的哈希值;
存储单元,用于将所述目标页的哈希值作为所述目标页的特征参数保存在缺页页表中。
9.根据权利要求6或7所述的装置,其特征在于,所述缺页处理单元包括:
页映射单元,用于根据所述目标页在所述虚拟机上的物理地址获取所述目标页在服务器上的物理地址;
所述页映射单元还用于根据所述目标页在服务器上的物理地址获取所述目标页的哈希值;
匹配单元,用于根据所述目标页的哈希值,查找与所述目标页具有相同哈希值的页。
10.根据权利要求9所述的装置,其特征在于,所述页映射单元具体用于:
根据所述目标页在服务器上的物理地址在缺页页表中查询与所述目标页在服务器上的物理地址对应的哈希值。
11.一种服务器,其特征在于,所述服务器包括:
如权利要求6至10任意一项所述的页的访问装置;虚拟机管理平台,所述虚拟机管理平台上运行有至少两台虚拟机;所述页的访问装置设置在所述虚拟机管理平台上。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310446994.5A CN103488523A (zh) | 2013-09-26 | 2013-09-26 | 一种页的访问方法和页的访问装置、服务器 |
PCT/CN2014/086182 WO2015043376A1 (zh) | 2013-09-26 | 2014-09-10 | 一种页的访问方法和页的访问装置、服务器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310446994.5A CN103488523A (zh) | 2013-09-26 | 2013-09-26 | 一种页的访问方法和页的访问装置、服务器 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN103488523A true CN103488523A (zh) | 2014-01-01 |
Family
ID=49828780
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310446994.5A Pending CN103488523A (zh) | 2013-09-26 | 2013-09-26 | 一种页的访问方法和页的访问装置、服务器 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN103488523A (zh) |
WO (1) | WO2015043376A1 (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2015169145A1 (zh) * | 2014-05-06 | 2015-11-12 | 华为技术有限公司 | 内存管理方法和设备 |
CN106970826A (zh) * | 2017-03-10 | 2017-07-21 | 浙江大学 | 一种基于大页的缺页异常解决方法 |
CN111427804A (zh) * | 2020-03-12 | 2020-07-17 | 深圳震有科技股份有限公司 | 一种减少缺页中断次数的方法、存储介质及智能终端 |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11061711B2 (en) | 2019-09-23 | 2021-07-13 | Red Hat, Inc. | Storage deduplication for virtual machines with encrypted storage |
US11656891B2 (en) | 2019-09-27 | 2023-05-23 | Red Hat, Inc. | Copy-on-write for virtual machines with encrypted storage |
US11232030B2 (en) | 2019-09-27 | 2022-01-25 | Red Hat Inc. | Storage deduplication for virtual machines with encrypted storage |
CN111966642B (zh) * | 2020-08-28 | 2022-09-30 | 维沃移动通信有限公司 | 图片管理方法、装置及电子设备 |
CN114253458B (zh) * | 2020-09-21 | 2024-04-26 | 华为技术有限公司 | 内存缺页异常的处理方法、装置、设备及存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050235123A1 (en) * | 2004-04-19 | 2005-10-20 | Zimmer Vincent J | Method to manage memory in a platform with virtual machines |
CN101383781A (zh) * | 2008-10-30 | 2009-03-11 | 中国人民解放军国防科学技术大学 | 虚拟域间短信息通讯方法 |
CN101620573A (zh) * | 2009-07-03 | 2010-01-06 | 中国人民解放军国防科学技术大学 | X86体系结构内存管理单元虚拟化方法 |
US20110320681A1 (en) * | 2010-06-28 | 2011-12-29 | International Business Machines Corporation | Memory management computer |
CN102521330A (zh) * | 2011-12-07 | 2012-06-27 | 华中科技大学 | 一种桌面虚拟化环境下的镜像分布式存储方法 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100527098C (zh) * | 2007-11-27 | 2009-08-12 | 北京大学 | 一种虚拟机管理器的动态内存映射方法 |
CN101477496B (zh) * | 2008-12-29 | 2011-08-31 | 北京航空航天大学 | 基于分布式内存虚拟化的numa结构的实现方法 |
CN101808141B (zh) * | 2010-04-19 | 2011-09-21 | 浙江大学 | 一种基于虚拟化平台的宿主客户机协同换页的方法 |
US9053053B2 (en) * | 2010-11-29 | 2015-06-09 | International Business Machines Corporation | Efficiently determining identical pieces of memory used by virtual machines |
-
2013
- 2013-09-26 CN CN201310446994.5A patent/CN103488523A/zh active Pending
-
2014
- 2014-09-10 WO PCT/CN2014/086182 patent/WO2015043376A1/zh active Application Filing
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050235123A1 (en) * | 2004-04-19 | 2005-10-20 | Zimmer Vincent J | Method to manage memory in a platform with virtual machines |
CN101383781A (zh) * | 2008-10-30 | 2009-03-11 | 中国人民解放军国防科学技术大学 | 虚拟域间短信息通讯方法 |
CN101620573A (zh) * | 2009-07-03 | 2010-01-06 | 中国人民解放军国防科学技术大学 | X86体系结构内存管理单元虚拟化方法 |
US20110320681A1 (en) * | 2010-06-28 | 2011-12-29 | International Business Machines Corporation | Memory management computer |
CN102521330A (zh) * | 2011-12-07 | 2012-06-27 | 华中科技大学 | 一种桌面虚拟化环境下的镜像分布式存储方法 |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2015169145A1 (zh) * | 2014-05-06 | 2015-11-12 | 华为技术有限公司 | 内存管理方法和设备 |
CN105095094A (zh) * | 2014-05-06 | 2015-11-25 | 华为技术有限公司 | 内存管理方法和设备 |
JP2017515242A (ja) * | 2014-05-06 | 2017-06-08 | 華為技術有限公司Huawei Technologies Co.,Ltd. | メモリ管理方法およびデバイス |
CN105095094B (zh) * | 2014-05-06 | 2018-11-30 | 华为技术有限公司 | 内存管理方法和设备 |
US10552337B2 (en) | 2014-05-06 | 2020-02-04 | Huawei Technologies Co., Ltd. | Memory management and device |
CN106970826A (zh) * | 2017-03-10 | 2017-07-21 | 浙江大学 | 一种基于大页的缺页异常解决方法 |
CN106970826B (zh) * | 2017-03-10 | 2020-05-08 | 浙江大学 | 一种基于大页的缺页异常解决方法 |
CN111427804A (zh) * | 2020-03-12 | 2020-07-17 | 深圳震有科技股份有限公司 | 一种减少缺页中断次数的方法、存储介质及智能终端 |
CN111427804B (zh) * | 2020-03-12 | 2022-05-20 | 深圳震有科技股份有限公司 | 一种减少缺页中断次数的方法、存储介质及智能终端 |
Also Published As
Publication number | Publication date |
---|---|
WO2015043376A1 (zh) | 2015-04-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103488523A (zh) | 一种页的访问方法和页的访问装置、服务器 | |
CN102819497B (zh) | 一种内存分配方法、装置及系统 | |
CN105283855B (zh) | 一种寻址方法及装置 | |
CN109697016B (zh) | 用于改进容器的存储性能的方法和装置 | |
CN104487953A (zh) | 用于层次型存储器系统的存储器管理 | |
CN103049392B (zh) | 缓存目录的实现方法及装置 | |
CN102831069B (zh) | 内存处理方法、内存管理设备 | |
CN102985910A (zh) | 对无用存储单元收集的gpu支持 | |
US20100106930A1 (en) | Opportunistic page largification | |
CN104133775A (zh) | 一种用于管理存储器的方法和装置 | |
US20170115909A1 (en) | Data replica control | |
CN105095116A (zh) | 缓存替换的方法、缓存控制器和处理器 | |
CN102971698B (zh) | 快照数据处理方法及系统、存储系统、快照代理 | |
US9436751B1 (en) | System and method for live migration of guest | |
CN104809179A (zh) | 访问哈希表的装置和方法 | |
CN105224528A (zh) | 基于图计算的大数据处理方法和装置 | |
CN103942159A (zh) | 一种基于混合存储设备的数据读写方法与装置 | |
CN104572656A (zh) | 一种磁盘镜像空间回收的方法及装置 | |
CN103455443A (zh) | 一种缓存管理方法和装置 | |
US20240143219A1 (en) | Software-hardware combination method for internal mapping address query of zoned namespace | |
CN102959548B (zh) | 数据存储方法、查找方法及装置 | |
CN104239237A (zh) | 一种tlb管理方法及装置 | |
CN104169891A (zh) | 一种访问内存的方法及设备 | |
US9292452B2 (en) | Identification of page sharing opportunities within large pages | |
CN103793332A (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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20140101 |
|
RJ01 | Rejection of invention patent application after publication |