WO2023151352A1 - 一种内存快照管理方法、装置、设备及介质 - Google Patents

一种内存快照管理方法、装置、设备及介质 Download PDF

Info

Publication number
WO2023151352A1
WO2023151352A1 PCT/CN2022/135512 CN2022135512W WO2023151352A1 WO 2023151352 A1 WO2023151352 A1 WO 2023151352A1 CN 2022135512 W CN2022135512 W CN 2022135512W WO 2023151352 A1 WO2023151352 A1 WO 2023151352A1
Authority
WO
WIPO (PCT)
Prior art keywords
page table
memory
snapshot
page
virtual machine
Prior art date
Application number
PCT/CN2022/135512
Other languages
English (en)
French (fr)
Inventor
王亮
周胜利
冯振
Original Assignee
苏州浪潮智能科技有限公司
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by 苏州浪潮智能科技有限公司 filed Critical 苏州浪潮智能科技有限公司
Publication of WO2023151352A1 publication Critical patent/WO2023151352A1/zh

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0893Caches characterised by their organisation or structure
    • G06F12/0897Caches characterised by their organisation or structure with two or more cache hierarchy levels
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45562Creating, deleting, cloning virtual machine instances
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45575Starting, stopping, suspending or resuming virtual machine instances
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45583Memory management, e.g. access or allocation

Definitions

  • the invention relates to the technical field of data protection in a cloud computing environment, in particular to a memory snapshot management method, device, equipment and medium.
  • the application provides a memory snapshot management method, including:
  • the corresponding memory page is acquired through the page table entry of the first snapshot page table, the reference count of the memory page is increased, and the virtual machine is restored from the suspend state to the running state.
  • a memory write operation is performed.
  • the process of executing the memory write operation also includes:
  • the memory snapshot management method further includes:
  • Delete the current secondary page table of the virtual machine use the second snapshot page table as the current new secondary page table of the virtual machine, and clear the corresponding page cache.
  • the memory snapshot management method further includes:
  • the second aspect of the present application provides a memory snapshot management device, including:
  • the command acquisition module is used to suspend the virtual machine when the memory snapshot generation command is acquired
  • the page table copy module is used to copy the secondary page table of the virtual machine to obtain the first snapshot page table, and set the read-only flag for the page table entry of the secondary page table;
  • the reference count adjustment module is used to obtain the corresponding memory page through the page table entry of the first snapshot page table, increase the reference count of the memory page, and restore the virtual machine from the suspended state to the running state.
  • the memory snapshot management device further includes:
  • the page table copying unit is used to copy the first snapshot page table to obtain the second snapshot page table when the memory snapshot recovery command is obtained.
  • the page table deletion unit is configured to delete the current secondary page table of the virtual machine, use the second snapshot page table as the current new secondary page table of the virtual machine, and clear the corresponding page cache.
  • a third aspect of the present application provides an electronic device, including:
  • One or more processors are configured to execute computer-readable instructions to implement the steps of the aforementioned disclosed memory snapshot management method.
  • the fourth aspect of the present application provides a non-volatile computer-readable storage medium for storing computer-readable instructions; wherein, when the computer-readable instructions are executed by a processor, the steps of the aforementioned disclosed memory snapshot management method are implemented .
  • FIG. 1 is a flowchart of a memory snapshot management method provided in one or more embodiments of the present application
  • FIG. 2 is a sub-flow chart of a memory snapshot management method provided in one or more embodiments of the present application
  • FIG. 3 is a sub-flow chart of a memory snapshot management method provided in one or more embodiments of the present application.
  • FIG. 4 is a schematic structural diagram of a memory snapshot management device provided in one or more embodiments of the present application.
  • Fig. 5 is a structural diagram of an electronic device provided in one or more embodiments of the present application.
  • the embodiment of the present application discloses a memory snapshot management method, device, device, and medium, which can avoid the impact of writing memory data to a disk on actual operations and increase the speed of creating memory snapshots.
  • a memory snapshot management method which includes:
  • Step S11 When the memory snapshot generation command is obtained, the virtual machine is suspended.
  • Step S12 Copy the secondary page table of the virtual machine to obtain the first snapshot page table, and set a read-only flag for the page table entry of the secondary page table.
  • the creation of the memory snapshot of the virtual machine is completed by copying the secondary page table of the virtual machine at the KVM (i.e. Kernel-based Virtual Machine) level to obtain the first snapshot page table.
  • KVM Kernel-based Virtual Machine
  • the first snapshot page is marked as PT1, and PT1 is used as a snapshot index.
  • the identification setting can be separated from the general read-only area to realize the mutual distinction and isolation of the memory snapshot and the virtual machine memory, and mark the secondary page table as PT0. It should be pointed out that the page table created above is still stored in the memory, avoiding the IO (input/output, input and output) operation of writing the memory snapshot to the disk, and the process of copying the page table is very fast, so through this This method improves the creation speed of memory snapshots and ensures that the time for creating memory snapshots is limited to milliseconds.
  • Step S13 Obtain the corresponding memory page through the page table entry of the first snapshot page table, increase the reference count of the memory page, and resume the virtual machine from the suspended state to the running state.
  • the above-mentioned restoration of the virtual machine from the suspended state to the running state it further includes: during the running process of the virtual machine, if it is detected that the memory data in the memory page of the virtual machine has changed, performing a memory write operation. It can be understood that, during the running of the virtual machine, if the memory data in the memory page of the virtual machine does not change, there is no need to perform a memory write operation.
  • the process of executing the memory write operation also includes: exiting the virtual machine from the virtual state, and querying the page table entries of the secondary page table through the virtual machine monitoring program to obtain the query result; if the query result is that the page table entry carries read-only flag, copy the current memory page to obtain the copied memory page, and reduce the reference count of the memory page before the memory data has not been changed; point the pointer of the page table entry in the secondary page table to the copied memory page, and clear The read-only identification of the page table entry in the second-level page table entry, and re-entering the virtual machine into the virtual state.
  • the virtual machine when the memory snapshot generation command is obtained, the virtual machine is suspended; then the secondary page table of the virtual machine is copied to obtain the first snapshot page table, and the read-only flag is set for the page table entry of the secondary page table ; Obtain the corresponding memory page through the page table entry of the first snapshot page table, increase the reference count of the memory page, and resume the virtual machine from the suspended state to the running state.
  • the application obtains the memory snapshot generation command, it is necessary to suspend the virtual machine, and obtain the first snapshot page table by copying the virtual machine secondary page table to create a memory snapshot of the virtual machine, and create a memory snapshot for the secondary page
  • the page table entry of the table sets the read-only flag, and resumes the virtual machine from the suspended state to the running state after the creation step is completed.
  • the memory snapshot created through the above steps is still stored in the memory and does not need to be written to the disk, thus avoiding the impact of writing the memory data to the disk on the actual operation, and improving the creation speed of the memory snapshot.
  • the mutual distinction between the memory snapshot and the memory of the virtual machine is realized.
  • the embodiment of the present application may further include:
  • Step S21 When the memory snapshot recovery command is obtained, copy the first snapshot page table to obtain the second snapshot page table.
  • the second snapshot page table is obtained by copying the first snapshot page table PT1 at the KVM level.
  • Step S22 Obtain the corresponding memory page through the page table entry of the first snapshot page table, and increase the reference count of the memory page. Obtain the corresponding memory page through the page table entry of the current secondary page table of the virtual machine, and reduce the reference count of the memory page; wherein, the memory page corresponding to the page table entry of the first snapshot page table is the same as the page table of the current secondary page table. The memory pages corresponding to the items are the same.
  • the current secondary page table of the virtual machine is marked as PT_temp, all corresponding memory pages are found through the page table entry of PT1, and the reference counts of these memory pages are increased, and their corresponding memory pages are found through the page table entry of PT_temp Corresponding all memory pages, and reduce the reference count of these memory pages.
  • the memory page corresponding to the page table entry of PT1 is the same as the memory page corresponding to the page table entry of PT_temp.
  • Step S23 Delete the current secondary page table of the virtual machine, use the second snapshot page table as the current new secondary page table of the virtual machine, and clear the corresponding page cache.
  • the PT_temp page table of the virtual machine is deleted, the second snapshot page table is used as the current new secondary page table of the virtual machine, and the corresponding page table cache (Translate Look side Buffers) is cleared.
  • the memory snapshot recovery command is obtained, that is, when the memory snapshot recovery needs to be performed, the reference count of the memory page is reduced through the current secondary page table of the virtual machine, and the first snapshot page table is copied to obtain
  • the second snapshot page table of the virtual machine is used as the current new secondary page table of the virtual machine, then the reference count of the memory page is increased, the original current secondary page table is deleted, and the corresponding page table cache is finally cleared to restore the memory snapshot .
  • the snapshot page table is created by copying the page table, so that the speed of restoring the memory snapshot is also improved.
  • the time for restoring the memory snapshot is the same as the time for creating the memory snapshot, and both are limited to the millisecond level.
  • the availability of the memory snapshot is improved through the above technical solution.
  • the embodiment of the present application may further include:
  • Step S31 When the memory snapshot delete command is obtained, the corresponding memory page is obtained through the page table entry of the first snapshot page table, and the reference count of the memory page is decreased.
  • Step S32 Delete the first snapshot page table.
  • the first snapshot page table is directly deleted.
  • the memory snapshot delete command when the memory snapshot delete command is obtained, that is, when the first snapshot page table needs to be deleted, firstly, the corresponding memory page is found through the page table entry of the first snapshot page table, and the The reference count of the memory page, and then directly delete the first snapshot page table.
  • the snapshot page table is created by copying the page table, so that the speed of deleting the memory snapshot is also improved.
  • a memory snapshot management device including:
  • the command acquisition module 11 is used to suspend the virtual machine when the memory snapshot generation command is acquired
  • Page table duplication module 12 for duplicating the secondary page table of the virtual machine to obtain the first snapshot page table, and setting the read-only flag for the page table entry of the secondary page table;
  • the reference count adjustment module 13 is configured to obtain the corresponding memory page through the page table entry of the first snapshot page table, increase the reference count of the memory page, and resume the virtual machine from the suspended state to the running state.
  • the virtual machine when the memory snapshot generation command is obtained, the virtual machine is suspended; then the secondary page table of the virtual machine is copied to obtain the first snapshot page table, and the read-only flag is set for the page table entry of the secondary page table ; Obtain the corresponding memory page through the page table entry of the first snapshot page table, increase the reference count of the memory page, and resume the virtual machine from the suspended state to the running state.
  • the application obtains the memory snapshot generation command, it is necessary to suspend the virtual machine, and obtain the first snapshot page table by copying the virtual machine secondary page table to create a memory snapshot of the virtual machine, and create a memory snapshot for the secondary page
  • the page table entry of the table sets the read-only flag, and resumes the virtual machine from the suspended state to the running state after the creation step is completed.
  • the memory snapshot created through the above steps is still stored in the memory and does not need to be written to the disk, thus avoiding the impact of writing the memory data to the disk on the actual operation, and improving the creation speed of the memory snapshot.
  • the read-only flag for the second-level page table of the virtual machine the mutual distinction between the memory snapshot and the virtual machine memory is realized.
  • the reference count adjustment module 13 after the reference count adjustment module 13, it also includes:
  • the memory write unit is configured to perform a memory write operation if it is detected that memory data in a memory page of the virtual machine is changed during the running of the virtual machine.
  • the memory writing unit may also include:
  • the page table query unit is used to exit the virtual machine from the virtual state, and query the page table entries of the secondary page table through the virtual machine monitoring program to obtain query results;
  • the first copying unit is used to copy the current memory page to obtain the copied memory page if the query result shows that the page table entry carries a read-only flag, and reduce the reference count of the memory page before the memory data has not been changed;
  • the identification clearing unit is used to point the pointer of the page table entry in the secondary page table to the copied memory page, clear the read-only identification of the page table entry in the secondary page table entry, and re-enter the virtual state of the virtual machine.
  • the memory snapshot management device may also include:
  • the second copy unit is used to copy the first snapshot page table to obtain the second snapshot page table when the memory snapshot recovery command is obtained;
  • the first page table deletion unit is configured to delete the current secondary page table of the virtual machine, use the second snapshot page table as the current new secondary page table of the virtual machine, and clear the corresponding page cache.
  • the page table deletion unit before the page table deletion unit, it also includes:
  • the reference count increasing unit is used to obtain the corresponding memory page through the page table entry of the first snapshot page table, and increase the reference count of the memory page;
  • the first reference count reduction unit is used to obtain the corresponding memory page through the page table entry of the current secondary page table, and reduce the reference count of the memory page; wherein, the memory page corresponding to the page table entry of the first snapshot page table is the same as the current.
  • the memory pages corresponding to the page table entries of the secondary page table are the same.
  • the memory snapshot management device may also include:
  • the second reference count reduction unit is used to obtain the corresponding memory page through the page table entry of the first snapshot page table when the memory snapshot deletion command is obtained, and reduce the reference count of the memory page;
  • the second page table deletion unit is used to delete the first snapshot page table.
  • FIG. 5 is a schematic structural diagram of an electronic device provided by an embodiment of the present application. Specifically, it may include: at least one processor 21 , at least one memory 22 , a power supply 23 , a communication interface 24 , an input/output interface 25 and a communication bus 26 .
  • the memory 22 is used for storing computer-readable instructions, and the computer-readable instructions are loaded and executed by the processor 21, so as to implement relevant steps in the memory snapshot management method performed by a computer device disclosed in any of the foregoing embodiments.
  • the power supply 23 is used to provide operating voltage for each hardware device on the computer device 20;
  • the communication interface 24 can create a data transmission channel between the computer device 20 and external devices, and the communication protocol it follows is applicable Any communication protocol in the technical solution of the present application is not specifically limited here;
  • the input and output interface 25 is used to obtain external input data or output data to the external, and its specific interface type can be selected according to specific application needs, here Not specifically limited.
  • the processor 21 may include one or more processing cores, such as a 4-core processor, an 8-core processor, and the like.
  • Processor 21 can adopt at least one hardware form in DSP (Digital Signal Processing, digital signal processing), FPGA (Field-Programmable Gate Array, field programmable gate array), PLA (Programmable Logic Array, programmable logic array) accomplish.
  • Processor 21 may also include a main processor and a coprocessor, the main processor is a processor for processing data in a wake-up state, also called CPU (Central Processing Unit, central processing unit); the coprocessor is Low-power processor for processing data in standby state.
  • CPU Central Processing Unit
  • the coprocessor Low-power processor for processing data in standby state.
  • the processor 21 may be integrated with a GPU (Graphics Processing Unit, image processor), and the GPU is used for rendering and drawing the content that needs to be displayed on the display screen.
  • the processor 21 may also include an AI (Artificial Intelligence, artificial intelligence) processor, and the AI processor is used to process computing operations related to machine learning.
  • AI Artificial Intelligence, artificial intelligence
  • the memory 22, as a resource storage carrier can be a read-only memory, random access memory, magnetic disk or optical disk, etc., and the resources stored thereon include the operating system 221, computer readable instructions 222 and data 223, etc., and the storage method can be short-lived storage or permanent storage.
  • the operating system 221 is used to manage and control each hardware device and computer-readable instructions 222 on the computer device 20, so as to realize the calculation and processing of the massive data 223 in the memory 22 by the processor 21, which can be Windows, Unix, Linux wait.
  • computer-readable instructions 222 including computer-readable instructions that can be used to complete the memory snapshot management method performed by the computer device 20 disclosed in any of the foregoing embodiments, computer-readable instructions 222 can further include computer-readable instructions that can be used to complete other specific tasks. read command.
  • the data 223 may not only include data received by the computer device and transmitted from an external device, but may also include data collected by its own input and output interface 25 and the like.
  • the embodiment of the present application also discloses a storage medium, in which computer-readable instructions are stored.
  • the computer-readable instructions are loaded and executed by a processor, the memory snapshot management method disclosed in any of the foregoing embodiments can be realized. Method steps performed in the process.
  • each embodiment in this specification is described in a progressive manner, each embodiment focuses on the difference from other embodiments, and the same or similar parts of each embodiment can be referred to each other.
  • the description is relatively simple, and for relevant details, please refer to the description of the method part.
  • RAM random access memory
  • ROM read-only memory
  • EEPROM electrically programmable ROM
  • EEPROM electrically erasable programmable ROM
  • registers hard disk, removable disk, CD-ROM, or any other Any other known storage medium.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

本申请提供了一种内存快照管理方法、装置、设备及介质,包括:当获取到内存快照生成命令,则暂停虚拟机;复制所述虚拟机的二级页表以得到第一快照页表,并为所述二级页表的页表项设置只读标识;通过所述第一快照页表的页表项获取相应的内存页,并增加所述内存页的引用计数,以及将所述虚拟机由暂停状态恢复至运行状态。

Description

一种内存快照管理方法、装置、设备及介质
相关申请的交叉引用
本申请要求于2022年2月9日提交中国专利局,申请号为202210119840.4,申请名称为“一种内存快照管理方法、装置、设备及介质”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
技术领域
本发明涉及云计算环境下数据保护技术领域,尤其涉及一种内存快照管理方法、装置、设备及介质。
背景技术
当前,在常用的虚拟机(Virtual Machine)内存快照方案中,虚拟机监控器需要先暂停虚拟机,然后将虚拟机当前的内存数据导出到磁盘中;然而,发明人意识到,由于需要将内存数据写入到磁盘中,对虚拟机执行内存快照的操作很慢,影响了内存快照在现实场景中的使用。如何避免将内存数据写入磁盘给实际操作带来的影响,并提高内存快照的创建速度是目前有待解决的问题。
发明内容
本申请提供了一种内存快照管理方法,包括:
响应于获取到内存快照生成命令,暂停虚拟机;
复制虚拟机的二级页表以得到第一快照页表,并为二级页表的页表项设置只读标识;及
通过第一快照页表的页表项获取相应的内存页,并增加内存页的引用计数,以及将虚拟机由暂停状态恢复至运行状态。
在其中一些实施例中,将虚拟机由暂停状态恢复至运行状态之后,还包括:
在虚拟机的运行过程中,响应于检测到虚拟机内存页中的内存数据发生更改,执行内存写入操作。
在其中一些实施例中,执行内存写入操作的过程中,还包括:
将虚拟机退出虚拟态,并通过虚拟机监控程序查询二级页表的页表项以得到查询结果;
响应于查询结果为页表项携带有只读标识,将当前内存页进行复制以得到复制内存页,并减少内存数据未更改前的内存页的引用计数;及
将二级页表中的页表项的指针指向复制内存页,并清除二级页表项中页表项的只读标识,以及将虚拟机重新进入虚拟态。
在其中一些实施例中,内存快照管理方法,还包括:
响应于获取到内存快照恢复命令,对第一快照页表进行复制以得到第二快照页表;及
删除虚拟机的当前二级页表,并将第二快照页表作为虚拟机当前新的二级页表,以及清除相应的页面缓存。
在其中一些实施例中,删除虚拟机的当前二级页表之前,还包括:
通过第一快照页表的页表项获取相应的内存页,并增加内存页的引用计数;及
通过当前二级页表的页表项获取相应的内存页,并减少内存页的引用计数;其中,第一快照页表的页表项对应的内存页与当前二级页表的页表项对应的内存页相同。
在其中一些实施例中,内存快照管理方法,还包括:
响应于获取到内存快照删除命令,通过第一快照页表的页表项获取相应的内存页,并减少内存页的引用计数;及
删除第一快照页表。
本申请的第二方面,提供了一种内存快照管理装置,包括:
命令获取模块,用于当获取到内存快照生成命令,则暂停虚拟机;
页表复制模块,用于复制虚拟机的二级页表以得到第一快照页表,并为二级页表的页表项设置只读标识;及
引用计数调整模块,用于通过第一快照页表的页表项获取相应的内存页,并 增加内存页的引用计数,以及将虚拟机由暂停状态恢复至运行状态。
在其中一些实施例中,内存快照管理装置,还包括:
页表复制单元,用于当获取到内存快照恢复命令,则对第一快照页表进行复制以得到第二快照页表;及
页表删除单元,用于删除虚拟机的当前二级页表,并将第二快照页表作为虚拟机当前新的二级页表,以及清除相应的页面缓存。
本申请的第三方面,提供了一种电子设备,包括:
一个或多个存储器,用于保存计算机可读指令;及
一个或多个处理器,用于执行计算机可读指令,以实现前述公开的内存快照管理方法的步骤。
本申请的第四方面,提供了一种非易失性计算机可读存储介质,用于存储计算机可读指令;其中,计算机可读指令被处理器执行时实现前述公开的内存快照管理方法的步骤。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本申请一个或多个实施例中提供的一种内存快照管理方法流程图;
图2为本申请一个或多个实施例中提供的一种内存快照管理方法子流程图;
图3为本申请一个或多个实施例中提供的一种内存快照管理方法子流程图;
图4为本申请一个或多个实施例中提供的一种内存快照管理装置结构示意图;
图5为本申请一个或多个实施例中提供的一种电子设备结构图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的 实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
当前,在常用的虚拟机内存快照方案中,虚拟机监控器需要先暂停虚拟机,然后将虚拟机当前的内存数据导出到磁盘中;由于需要将内存数据写入到磁盘中,对虚拟机执行内存快照的操作很慢,影响了内存快照在现实场景中的使用。为此本申请实施例公开了一种内存快照管理方法、装置、设备及介质,能够避免将内存数据写入磁盘给实际操作带来的影响,并提高内存快照的创建速度。
参见图1所示,本申请实施例公开了一种内存快照管理方法,该方法包括:
步骤S11:当获取到内存快照生成命令,则暂停虚拟机。
本实施例中,当获取到***管理员发送的内存快照生成命令,则需要暂停当前正处于运行状态的虚拟机。
步骤S12:复制虚拟机的二级页表以得到第一快照页表,并为二级页表的页表项设置只读标识。
本实施例中,通过在KVM(即Kernel-based Virtual Machine)层面复制虚拟机的二级页表以得到第一快照页表,从而完成虚拟机的内存快照的创建。可以理解的是,本实施例在暂停虚拟机后,不再复制所有内存数据,而是只复制虚拟机的二级页表,以完成内存快照的创建。本实施例中将第一快照页表记为PT1,并将PT1作为快照索引使用。此外,还需要在KVM层面为虚拟机原有二级页表中的页表项设置只读标识,也即将原有二级页表中的所有页表项设置为快照只读模式,通过只读标识的设置能够与一般的只读区分开,实现内存快照和虚拟机内存的相互区分和隔离,并将该二级页表记为PT0。需要指出的是,上述创建的页表仍然保存于内存中,避免了将内存快照写入磁盘的IO(input/Output,即输入输出)操作,而复制页表的过程非常迅速,因此通过这种方式提高了内存快照的创建速度,且保证创建内存快照的时间限制在毫秒级别。
步骤S13:通过第一快照页表的页表项获取相应的内存页,并增加内存页的引用计数,以及将虚拟机由暂停状态恢复至运行状态。
本实施例中,通过第一快照页表的页表项,也即PT1的页表项找到其指向的所有内存页,并增加这些内存页的引用计数。需要指出的是,通过调整引用计数可以防止内存泄露,每当增加一次对同一个对象的引用,那么引用对象的引用 计数就会增加一次,每删除一次引用,引用计数就会减少一次,当一个对象的引用计数减为零时,就自动删除指向的堆内存。本实施例在增加引用计数之后,需要清除相应的页面缓存,再将虚拟机由暂停状态恢复至运行状态。
本实施中,上述将虚拟机由暂停状态恢复至运行状态之后,还包括:在虚拟机的运行过程中,若检测到虚拟机内存页中的内存数据发生更改,则执行内存写入操作。可以理解的是,在虚拟机的运行过程中,若虚拟机内存页中的内存数据没有发生更改,则无需执行内存写入操作。
其中,执行内存写入操作的过程中,还包括:将虚拟机退出虚拟态,并通过虚拟机监控程序查询二级页表的页表项以得到查询结果;若查询结果为页表项携带有只读标识,则将当前内存页进行复制以得到复制内存页,并减少内存数据未更改前的内存页的引用计数;将二级页表中的页表项的指针指向复制内存页,并清除二级页表项中页表项的只读标识,以及将虚拟机重新进入虚拟态。需要指出的是,由于之前为二级页表的页表项设置了只读标识,也即当前的页表项为快照只读模式,则意味着当前对虚拟机内存进行了写保护,那么当虚拟机执行内存写入操作时,会产生EPT misconfig,也即造成了内存配置异常。此时虚拟机则需要退出虚拟态到虚拟机监控程序中,并通过虚拟机监控器(Virtual Machine Monitor)进入内存配置异常处理流程,首先查询二级页表(即PT0)中内存配置异常的页表项,如果该页表项携带有只读标识,则执行页面复制得到复制内存页,并减小原内存页面的引用计数,然后将PT0页表项中的指针指向复制内存页,最后清除PT0页表项中的快照只读模式,并通过虚拟机监控程序恢复虚拟机的正常运行,即将虚拟机重新进入虚拟态。通过上述方式,可以实现第一快照页表(即PT1)所指向的内存页的内存数据不会发生改变,因此依靠PT1就可以找到快照时刻的所有内存数据。
可见,本申请实施例当获取到内存快照生成命令,则暂停虚拟机;然后复制虚拟机的二级页表以得到第一快照页表,并为二级页表的页表项设置只读标识;再通过第一快照页表的页表项获取相应的内存页,并增加内存页的引用计数,以及将虚拟机由暂停状态恢复至运行状态。由此可见,本申请当获取到内存快照生成命令后,需要暂停虚拟机,并通过复制虚拟机二级页表的方式得到第一快照页表以创建虚拟机的内存快照,以及为二级页表的页表项设置只读标识,并在创建 步骤完成之后将虚拟机由暂停状态恢复至运行状态。其中,通过上述步骤创建的内存快照仍保存于内存中,无需再写入至磁盘,因而避免了将内存数据写入磁盘给实际操作带来的影响,并提高了内存快照的创建速度。此外,通过为虚拟机二级页表设置只读标识,实现了内存快照和虚拟机内存的相互区分。
在虚拟机的运行过程中,如果收到***管理员发送的内存快照恢复命令,也即需要恢复第一快照页表PT1,则需要执行相应的恢复页表的操作。具体的参见图2所示,本申请实施例还可以进一步包括:
步骤S21:当获取到内存快照恢复命令,则对第一快照页表进行复制以得到第二快照页表。
本实施例中,在获取到***管理员发送的内存快照恢复命令后,通过在KVM层面对第一快照页表PT1进行复制以得到第二快照页表。
步骤S22:通过第一快照页表的页表项获取相应的内存页,并增加内存页的引用计数。通过虚拟机当前二级页表的页表项获取相应的内存页,并减少内存页的引用计数;其中,第一快照页表的页表项对应的内存页与当前二级页表的页表项对应的内存页相同。
本实施例中,将虚拟机的当前二级页表记为PT_temp,通过PT1的页表项找到其相应的所有内存页,并增加这些内存页的引用计数,以及通过PT_temp的页表项找到其相应的所有内存页,并减小这些内存页的引用计数。其中,PT1的页表项对应的内存页与PT_temp的页表项对应的内存页相同。
步骤S23:删除虚拟机的当前二级页表,并将第二快照页表作为虚拟机当前新的二级页表,以及清除相应的页面缓存。
本实施例中,删除虚拟机的PT_temp页表,将第二快照页表作为虚拟机当前新的二级页表,以及清除相应的页表缓存(Translate Look side Buffers)。
可见,本申请实施例中,当获取到内存快照恢复命令,也即需要进行内存快照恢复时,通过虚拟机当前二级页表减小内存页的引用计数,并将第一快照页表复制得到的第二快照页表作为虚拟机当前新的二级页表,然后增加内存页的引用计数,再删除原有的当前二级页表,最后清除相应的页表缓存,以实现内存快照的恢复。通过复制页表的方式创建快照页表,使得恢复内存快照时的速度也得到了提高,其中,恢复内存快照的时间和创建内存快照的时间级别相同,都限制在 毫秒级别。此外,通过上述技术方案提高了内存快照的可用性。
在虚拟机的运行过程中,如果收到***管理员发送的内存快照删除命令,也即需要删除第一快照页表PT1,则需要执行相应的删除页表的操作。具体的参见图3所示,本申请实施例还可以进一步包括:
步骤S31:当获取到内存快照删除命令,则通过第一快照页表的页表项获取相应的内存页,并减少内存页的引用计数。
本实施例中,在获取到***管理员发送的内存快照删除命令后,首先通过第一快照页表的页表项找到其相应的内存页,并减小内存页的引用计数。
步骤S32:删除第一快照页表。
本实施例中,当减小引用计数后,直接删除第一快照页表。
可见,本申请实施例中,当获取到内存快照删除命令,也即需要对第一快照页表进行删除时,首先通过第一快照页表的页表项找到其相应的内存页,并减小内存页的引用计数,再直接删除调第一快照页表。通过复制页表的方式创建快照页表,使得删除内存快照时的速度也得到了提高。
参见图4所示,本申请实施例公开了一种内存快照管理装置,包括:
命令获取模块11,用于当获取到内存快照生成命令,则暂停虚拟机;
页表复制模块12,用于复制虚拟机的二级页表以得到第一快照页表,并为二级页表的页表项设置只读标识;
引用计数调整模块13,用于通过第一快照页表的页表项获取相应的内存页,并增加内存页的引用计数,以及将虚拟机由暂停状态恢复至运行状态。
可见,本申请实施例当获取到内存快照生成命令,则暂停虚拟机;然后复制虚拟机的二级页表以得到第一快照页表,并为二级页表的页表项设置只读标识;再通过第一快照页表的页表项获取相应的内存页,并增加内存页的引用计数,以及将虚拟机由暂停状态恢复至运行状态。由此可见,本申请当获取到内存快照生成命令后,需要暂停虚拟机,并通过复制虚拟机二级页表的方式得到第一快照页表以创建虚拟机的内存快照,以及为二级页表的页表项设置只读标识,并在创建步骤完成之后将虚拟机由暂停状态恢复至运行状态。其中,通过上述步骤创建的内存快照仍保存于内存中,无需再写入至磁盘,因而避免了将内存数据写入磁盘给实际操作带来的影响,并提高了内存快照的创建速度。此外,通过为虚拟机二 级页表设置只读标识,实现了内存快照和虚拟机内存的相互区分。
在一些具体实施例中,引用计数调整模块13之后,还包括:
内存写入单元,用于在虚拟机的运行过程中,若检测到虚拟机内存页中的内存数据发生更改,则执行内存写入操作。
在一些具体实施例中,内存写入单元,还可以包括:
页表查询单元,用于将虚拟机退出虚拟态,并通过虚拟机监控程序查询二级页表的页表项以得到查询结果;
第一复制单元,用于若查询结果为页表项携带有只读标识,则将当前内存页进行复制以得到复制内存页,并减少内存数据未更改前的内存页的引用计数;
标识清除单元,用于将二级页表中的页表项的指针指向复制内存页,并清除二级页表项中页表项的只读标识,以及将虚拟机重新进入虚拟态。
在一些具体实施例中,内存快照管理装置,还可以包括:
第二复制单元,用于当获取到内存快照恢复命令,则对第一快照页表进行复制以得到第二快照页表;
第一页表删除单元,用于删除虚拟机的当前二级页表,并将第二快照页表作为虚拟机当前新的二级页表,以及清除相应的页面缓存。
在一些具体实施例中,页表删除单元之前,还包括:
引用计数增加单元,用于通过第一快照页表的页表项获取相应的内存页,并增加内存页的引用计数;
第一引用计数减少单元,用于通过当前二级页表的页表项获取相应的内存页,并减少内存页的引用计数;其中,第一快照页表的页表项对应的内存页与当前二级页表的页表项对应的内存页相同。
在一些具体实施例中,内存快照管理装置,还可以包括:
第二引用计数减少单元,用于当获取到内存快照删除命令,则通过第一快照页表的页表项获取相应的内存页,并减少内存页的引用计数;
第二页表删除单元,用于删除第一快照页表。
图5为本申请实施例提供的一种电子设备的结构示意图。具体可以包括:至少一个处理器21、至少一个存储器22、电源23、通信接口24、输入输出接口25和通信总线26。其中,存储器22用于存储计算机可读指令,计算机可读指令 由处理器21加载并执行,以实现前述任一实施例公开的由计算机设备执行的内存快照管理方法中的相关步骤。
本实施例中,电源23用于为计算机设备20上的各硬件设备提供工作电压;通信接口24能够为计算机设备20创建与外界设备之间的数据传输通道,其所遵循的通信协议是能够适用于本申请技术方案的任意通信协议,在此不对其进行具体限定;输入输出接口25,用于获取外界输入数据或向外界输出数据,其具体的接口类型可以根据具体应用需要进行选取,在此不进行具体限定。
其中,处理器21可以包括一个或多个处理核心,比如4核心处理器、8核心处理器等。处理器21可以采用DSP(Digital Signal Processing,数字信号处理)、FPGA(Field-Programmable Gate Array,现场可编程门阵列)、PLA(Programmable Logic Array,可编程逻辑阵列)中的至少一种硬件形式来实现。处理器21也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称CPU(Central Processing Unit,中央处理器);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器21可以在集成有GPU(Graphics Processing Unit,图像处理器),GPU用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器21还可以包括AI(Artificial Intelligence,人工智能)处理器,该AI处理器用于处理有关机器学习的计算操作。
另外,存储器22作为资源存储的载体,可以是只读存储器、随机存储器、磁盘或者光盘等,其上所存储的资源包括操作***221、计算机可读指令222及数据223等,存储方式可以是短暂存储或者永久存储。
其中,操作***221用于管理与控制计算机设备20上的各硬件设备以及计算机可读指令222,以实现处理器21对存储器22中海量数据223的运算与处理,其可以是Windows、Unix、Linux等。计算机可读指令222除了包括能够用于完成前述任一实施例公开的由计算机设备20执行的内存快照管理方法的计算机可读指令之外,还可以进一步包括能够用于完成其他特定工作的计算机可读指令。数据223除了可以包括计算机设备接收到的由外部设备传输进来的数据,也可以包括由自身输入输出接口25采集到的数据等。
进一步的,本申请实施例还公开了一种存储介质,存储介质中存储有计算机可读指令,该计算机可读指令被处理器加载并执行时,实现前述任一实施例公 开的由内存快照管理过程中执行的方法步骤。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括上述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上对本发明所提供的一种内存快照管理方法、装置、设备及存储介质进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

Claims (20)

  1. 一种内存快照管理方法,其特征在于,包括:
    响应于获取到内存快照生成命令,暂停虚拟机;
    复制所述虚拟机的二级页表以得到第一快照页表,并为所述二级页表的页表项设置只读标识;及
    通过所述第一快照页表的页表项获取相应的内存页,并增加所述内存页的引用计数,以及将所述虚拟机由暂停状态恢复至运行状态。
  2. 根据权利要求1所述的内存快照管理方法,其特征在于,复制所述虚拟机的二级页表以得到第一快照页表,包括:
    通过在KVM层面复制所述虚拟机的二级页表以得到第一快照页表;所述KVM为虚拟化技术。
  3. 根据权利要求1所述的内存快照管理方法,其特征在于,为所述二级页表的页表项设置只读标识,所述方法还包括:
    在将所述二级页表中的所有页表项设置为快照只读模式之后,将所述二级页表标记为初始页表。
  4. 根据权利要求1所述的内存快照管理方法,其特征在于,所述二级页表、第一快照页表以及所述内存页均保存于内存中。
  5. 根据权利要求1所述的内存快照管理方法,其特征在于,所述方法还包括:
    响应于所述内存页的引用计数减少至零时,删除对象的指向的堆内存。
  6. 根据权利要求1所述的内存快照管理方法,其特征在于,所述方法还包括:
    响应于增加一次对所述内存页的引用,增加一次所述内存页的引用计数,或,响应于减少一次对所述内存页的引用,减少一次所述内存页的引用计数。
  7. 根据权利要求1所述的内存快照管理方法,其特征在于,所述将所述虚拟机由暂停状态恢复至运行状态之后,所述方法还包括:
    在所述虚拟机的运行过程中,响应于检测到所述虚拟机内存页中的内存数据发生更改,执行内存写入操作。
  8. 根据权利要求2所述的内存快照管理方法,其特征在于,在执行内存写 入操作的过程中,所述方法还包括:
    将所述虚拟机退出虚拟态,并通过虚拟机监控程序查询所述二级页表的页表项以得到查询结果;
    响应于所述查询结果为所述页表项携带有所述只读标识,将当前内存页进行复制以得到复制内存页,并减少所述内存数据未更改前的所述内存页的引用计数;及
    将所述二级页表中的页表项的指针指向所述复制内存页,并清除所述二级页表项中所述页表项的所述只读标识,以及将所述虚拟机重新进入虚拟态。
  9. 根据权利要求8所述的内存快照管理方法,其特征在于,所述方法还包括:
    为所述虚拟机设置所述只读标识;
    根据所述只读标识区分内存快照和虚拟机内存。
  10. 根据权利要求1所述的内存快照管理方法,其特征在于,所述方法还包括:
    响应于获取到内存快照恢复命令,对所述第一快照页表进行复制以得到第二快照页表;
    删除所述虚拟机的当前二级页表,并将所述第二快照页表作为所述虚拟机当前新的二级页表,以及清除相应的页面缓存。
  11. 根据权利要求10所述的内存快照管理方法,其特征在于,所述响应于获取到内存快照恢复命令,对所述第一快照页表进行复制以得到第二快照页表,包括:
    响应于获取到内存快照恢复命令,获取来自KVM层发送的操作指令;
    根据所述操作指令复制所述第一快照页表以得到第二快照页表;所述KVM为虚拟化技术。
  12. 根据权利要求11所述的内存快照管理方法,其特征在于,在删除所述虚拟机的当前二级页表之前,所述方法还包括:
    通过所述第一快照页表的页表项获取相应的内存页,并增加所述内存页的引用计数;
    通过所述当前二级页表的页表项获取相应的内存页,并减少所述内存页的引 用计数;其中,所述第一快照页表项对应的内存页与所述当前二级页表的页表项对应的内存页相同。
  13. 根据权利要求12所述的内存快照管理方法,其特征在于,在通过所述第一快照页表的页表项获取相应的内存页之前,所述方法还包括:
    将所述虚拟机的当前二级页表记为所述当前二级页表的页表项。
  14. 根据权利要求13所述的内存快照管理方法,其特征在于,将所述虚拟机的当前二级页表记为所述当前二级页表的页表项,包括:
    将所述虚拟机的当前二级页表记为PT_temp;
    将所述PT_temp作为所述当前二级页表的页表项。
  15. 根据权利要求1至14任一项所述的内存快照管理方法,其特征在于,所述方法还包括:
    响应于获取到内存快照删除命令,通过所述第一快照页表的页表项获取相应的内存页,并减少所述内存页的引用计数;
    删除所述第一快照页表。
  16. 根据权利要求12所述的内存快照管理方法,其特征在于,在增加所述内存页的引用计数之后,将所述虚拟机由暂停状态恢复至运行状态之前,所述方法还包括:
    清除目标页面的缓存。
  17. 一种内存快照管理装置,其特征在于,包括:
    命令获取模块,用于响应于获取到内存快照生成命令,暂停虚拟机;
    页表复制模块,用于复制所述虚拟机的二级页表以得到第一快照页表,并为所述二级页表的页表项设置只读标识;及
    引用计数调整模块,用于通过所述第一快照页表的页表项获取相应的内存页,并增加所述内存页的引用计数,以及将所述虚拟机由暂停状态恢复至运行状态。
  18. 根据权利要求17所述的内存快照管理装置,其特征在于,所述内存快照管理装置,还包括:
    页表复制单元,用于当获取到内存快照恢复命令,则对所述第一快照页表进行复制以得到第二快照页表;
    页表删除单元,用于删除所述虚拟机的当前二级页表,并将所述第二快照页 表作为所述虚拟机当前新的二级页表,以及清除相应的页面缓存。
  19. 一种电子设备,其特征在于,包括:
    一个或多个存储器,用于保存计算机可读指令;及
    一个或多个处理器,用于执行所述计算机可读指令,以实现如权利要求1至16任一项所述的内存快照管理方法的步骤。
  20. 一种非易失性计算机可读存储介质,其特征在于,用于存储计算机可读指令;其中,所述计算机可读指令被所述一个或多个处理器执行时实现如权利要求1至16任一项所述的内存快照管理方法的步骤。
PCT/CN2022/135512 2022-02-09 2022-11-30 一种内存快照管理方法、装置、设备及介质 WO2023151352A1 (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202210119840.4 2022-02-09
CN202210119840.4A CN114153567B (zh) 2022-02-09 2022-02-09 一种内存快照管理方法、装置、设备及介质

Publications (1)

Publication Number Publication Date
WO2023151352A1 true WO2023151352A1 (zh) 2023-08-17

Family

ID=80450394

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2022/135512 WO2023151352A1 (zh) 2022-02-09 2022-11-30 一种内存快照管理方法、装置、设备及介质

Country Status (2)

Country Link
CN (1) CN114153567B (zh)
WO (1) WO2023151352A1 (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114153567B (zh) * 2022-02-09 2022-05-10 苏州浪潮智能科技有限公司 一种内存快照管理方法、装置、设备及介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106897118A (zh) * 2017-02-28 2017-06-27 郑州云海信息技术有限公司 一种虚拟机内存快照创建方法及***
CN107615255A (zh) * 2015-06-17 2018-01-19 英特尔公司 利用持久存储器的计算装置和方法
CN111857966A (zh) * 2020-07-28 2020-10-30 山东海量信息技术研究院 虚拟机快照创建方法、装置及计算机可读存储介质
CN113641446A (zh) * 2021-07-13 2021-11-12 烽火通信科技股份有限公司 内存快照创建方法、装置、设备及可读存储介质
CN114153567A (zh) * 2022-02-09 2022-03-08 苏州浪潮智能科技有限公司 一种内存快照管理方法、装置、设备及介质

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101697134A (zh) * 2009-10-27 2010-04-21 北京大学 一种支持相似虚拟机快速启动的方法
CN105446834B (zh) * 2015-11-30 2018-10-19 华为技术有限公司 虚拟机快照的生成方法和装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107615255A (zh) * 2015-06-17 2018-01-19 英特尔公司 利用持久存储器的计算装置和方法
CN106897118A (zh) * 2017-02-28 2017-06-27 郑州云海信息技术有限公司 一种虚拟机内存快照创建方法及***
CN111857966A (zh) * 2020-07-28 2020-10-30 山东海量信息技术研究院 虚拟机快照创建方法、装置及计算机可读存储介质
CN113641446A (zh) * 2021-07-13 2021-11-12 烽火通信科技股份有限公司 内存快照创建方法、装置、设备及可读存储介质
CN114153567A (zh) * 2022-02-09 2022-03-08 苏州浪潮智能科技有限公司 一种内存快照管理方法、装置、设备及介质

Also Published As

Publication number Publication date
CN114153567B (zh) 2022-05-10
CN114153567A (zh) 2022-03-08

Similar Documents

Publication Publication Date Title
US10761957B2 (en) Optimization of operating system and virtual machine monitor memory management
US9940064B2 (en) Live migration of virtual disks
US10474369B2 (en) Mapping guest pages to disk blocks to improve virtual machine management processes
US9489035B2 (en) Efficient power management of a system with virtual machines
US10503405B2 (en) Zero copy memory reclaim using copy-on-write
TWI603195B (zh) 頁表資料管理
WO2017092219A1 (zh) 虚拟机快照的生成方法和装置
US9727274B2 (en) Cloning live virtual machines
JP5541036B2 (ja) メモリアクセス制御プログラム、メモリアクセス制御方法、及び情報処理装置
US20180232175A1 (en) Virtual machine hot migration method, host and storage medium
US8245013B2 (en) Mapped offsets preset ahead of process migration
US11243899B2 (en) Forced detaching of applications from DMA-capable PCI mapped devices
US11861390B1 (en) Transparent disk caching for virtual machines
US20150095576A1 (en) Consistent and efficient mirroring of nonvolatile memory state in virtualized environments
WO2023151352A1 (zh) 一种内存快照管理方法、装置、设备及介质
US9921875B2 (en) Zero copy memory reclaim for applications using memory offlining
US8490207B2 (en) Performing zero-copy sends in a networked file system with cryptographic signing
US8898413B2 (en) Point-in-time copying of virtual storage
US20230195533A1 (en) Prepopulating page tables for memory of workloads during live migrations
US9740544B2 (en) Live snapshotting of multiple virtual disks in networked systems
US9904567B2 (en) Limited hardware assisted dirty page logging
US10503659B2 (en) Post-copy VM migration speedup using free page hinting
US11762573B2 (en) Preserving large pages of memory across live migrations of workloads
US8892838B2 (en) Point-in-time copying of virtual storage and point-in-time dumping
US10545816B2 (en) Managed hardware accelerator address translation fault resolution utilizing a credit

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 22925703

Country of ref document: EP

Kind code of ref document: A1