CN111679914A - Memory management method, system, computer equipment and storage medium - Google Patents

Memory management method, system, computer equipment and storage medium Download PDF

Info

Publication number
CN111679914A
CN111679914A CN202010534513.6A CN202010534513A CN111679914A CN 111679914 A CN111679914 A CN 111679914A CN 202010534513 A CN202010534513 A CN 202010534513A CN 111679914 A CN111679914 A CN 111679914A
Authority
CN
China
Prior art keywords
memory
information
virtual machine
mode process
recovery
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
Application number
CN202010534513.6A
Other languages
Chinese (zh)
Other versions
CN111679914B (en
Inventor
皮振伟
叶璐
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Douyin Vision Co Ltd
Douyin Vision Beijing Co Ltd
Original Assignee
Beijing ByteDance Network Technology Co Ltd
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 Beijing ByteDance Network Technology Co Ltd filed Critical Beijing ByteDance Network Technology Co Ltd
Priority to CN202010534513.6A priority Critical patent/CN111679914B/en
Publication of CN111679914A publication Critical patent/CN111679914A/en
Application granted granted Critical
Publication of CN111679914B publication Critical patent/CN111679914B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5011Allocation 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/5016Allocation 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
    • 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/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0253Garbage collection, i.e. reclamation of unreferenced memory
    • 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
    • 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
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE 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/00Energy efficient computing, e.g. low power processors, power management or thermal management

Abstract

The application provides a memory management method, a system, computer equipment and a storage medium, wherein when the method is applied to a kernel-mode process in a physical machine kernel, the method comprises the following steps: responding to the trigger of the memory recovery event, and generating memory recovery information based on the current memory use information in the physical machine; and transmitting the memory recovery information to a memory management user mode process. When the method is applied to a memory management user mode process deployed in a physical machine, the method comprises the following steps: acquiring memory recovery information and acquiring memory state information of each virtual machine running on the physical machine; determining target virtual machines and memory amounts to be recovered, which correspond to the target virtual machines respectively, from the virtual machines; and performing memory recovery on each target virtual machine based on the amount of the memory to be recovered. The method can flexibly and dynamically recycle part of the memory of the virtual machine under the condition of over-allocation of the memory and when the memory of the physical machine is insufficient, so as to improve the use efficiency of the memory.

Description

Memory management method, system, computer equipment and storage medium
Technical Field
The present application relates to the field of virtual machine technologies, and in particular, to a memory management method, system, computer device, and storage medium.
Background
With the development of the internet, a large amount of internet services are deployed on computer servers. The main resources of the computer server include a Central Processing Unit (CPU), a memory, a network, a hard disk, and the like. As a key resource, how to improve the utilization rate of the memory is an important issue. The virtualization technology is used after physical resources are virtualized, and one physical machine can be virtualized into a plurality of virtual machines. In a virtualization scene, physical memory resources are shared by a plurality of virtual machines, the virtual machines are completely isolated from one another, and the virtual memory resources of the virtual machines are respectively managed.
In a virtualization scene, when a physical machine performs memory management, the use efficiency of a memory and the running stability of a virtual machine cannot be considered at the same time.
Disclosure of Invention
In view of this, embodiments of the present disclosure provide a management method, a management system, a computer device, and a storage medium, which can recycle a part of a memory of a virtual machine when a physical machine memory is insufficient under the condition of memory over-allocation, so as to improve the utilization efficiency of the memory.
In a first aspect, an embodiment of the present application provides a memory management method, which is applied to a kernel-mode process of a physical machine for memory recovery, where the memory management method includes:
responding to the trigger of the memory recovery event, and generating memory recovery information according to the current memory use information in the physical machine;
transmitting the memory recovery information to a memory management user mode process;
the memory recovery information is used for the memory management user mode process to determine a target virtual machine from a plurality of virtual machines running on the physical machine and perform memory recovery on the target virtual machine.
In an optional implementation manner, the transmitting the memory recycle information to the memory management user mode process includes:
and writing the memory recovery information into a memory recovery information queue, so that the memory management user-mode process reads the memory recovery information from the memory recovery information queue after monitoring that the memory recovery information exists in the memory recovery information queue.
In an optional implementation manner, the memory reclamation information includes: the non-uniform memory access NUMA node information of the memory needing to be recycled, the size of the memory quantity needing to be recycled and the size of the memory quantity already recycled are one or more.
In an optional implementation manner, the writing the memory reclamation information into the memory reclamation information queue specifically includes:
detecting whether the number of the memory recovery information existing in the memory recovery information queue reaches a preset number or not;
and if so, deleting one piece of memory recycling information at the head of the memory recycling information queue, and writing the current memory recycling information into the tail of the memory recycling information queue.
In an alternative embodiment, the method further comprises:
detecting whether the memory management user mode process monitors the memory recovery information queue;
and if the memory management user mode process does not monitor the memory recovery information queue, sending a memory recovery instruction to the kernel of the physical machine so that the kernel of the physical machine executes memory recovery.
In a second aspect, an embodiment of the present application further provides a memory management method, which is applied to a memory management user-mode process deployed in a physical machine, where the memory management method includes:
acquiring memory recovery information transmitted by a kernel-mode process in a physical machine, and acquiring memory state information of each virtual machine running on the physical machine;
determining a target virtual machine and a memory amount to be recovered, which corresponds to each target virtual machine, from each virtual machine based on the memory recovery information and the memory state information of each virtual machine;
and performing memory recovery on each target virtual machine based on the memory amount to be recovered.
In an optional implementation manner, the obtaining the memory recycling information includes:
monitoring whether the memory recovery information exists in a memory recovery information queue; the memory recovery information is generated and written into the memory recovery information queue according to the current memory use information in the physical machine when the kernel-mode process is triggered in response to a memory recovery event;
and if the memory recovery information exists in the memory recovery information queue, reading a piece of memory recovery information from the head of the memory recovery information queue.
In an optional implementation manner, after reading a piece of memory eviction information from a head of the memory eviction information queue, the method further includes:
and deleting the read memory recovery information from the memory recovery information queue.
In an optional implementation manner, the memory state information of any virtual machine includes one or more of the following:
the method comprises the steps of mapping a recyclable file into a memory, mapping an unrecoverable anonymous mapping memory, the current total memory size of a virtual machine and the current free memory size of the virtual machine.
In an optional implementation manner, the performing memory recovery on each target virtual machine based on the amount of memory to be recovered includes:
and based on a Memory Balloon technology, performing Memory recovery on each target virtual machine according to the amount of the Memory to be recovered.
In a third aspect, an embodiment of the present application further provides a memory management system, which is applied to a physical machine, and the memory management system includes: a kernel mode process and a memory management user mode process for memory recovery;
the kernel mode process is used for responding to the triggering of the memory recovery event and generating memory recovery information through the current memory use information in the physical machine; transmitting the memory recovery information to the memory management user mode process;
the memory management user mode process is used for acquiring memory recovery information transmitted by the kernel mode process and acquiring memory state information of each virtual machine running on the physical machine; determining a target virtual machine and a memory amount to be recovered, which corresponds to each target virtual machine, from each virtual machine based on the memory recovery information and the memory state information of each virtual machine; and performing memory recovery on each target virtual machine based on the memory amount to be recovered.
In a fourth aspect, an embodiment of the present application further provides an electronic device, including: a processor, a memory and a bus, the memory storing machine-readable instructions executable by the processor, the processor and the memory communicating via the bus when the electronic device is running, the machine-readable instructions when executed by the processor performing the steps of the first aspect described above, or any possible implementation of the first aspect;
or to perform the steps of the second aspect described above, or any one of the possible embodiments of the second aspect.
In a fifth aspect, this application further provides a computer-readable storage medium, on which a computer program is stored, where the computer program is executed by a processor to perform the steps in the first aspect or any one of the possible implementation manners of the first aspect;
or to perform the steps of the second aspect described above, or any one of the possible embodiments of the second aspect.
According to the memory management method, the memory management system, the computer equipment and the memory medium, the memory recovery event is monitored through the kernel-state process for memory recovery, the triggering of the memory recovery event is responded, the memory recovery information is generated, and the memory recovery information is transmitted to the memory management user-state process; the memory management user mode process determines a target virtual machine and the amount of memory to be recovered corresponding to each virtual machine according to the acquired memory state information of each virtual machine running on the physical machine and the memory recovery information, and finally performs memory recovery on each target virtual machine based on the amount of memory to be recovered, so that when the memory of the physical machine is insufficient under the condition of over-allocation of the memory, part of the memory of the virtual machine is flexibly and dynamically recovered, and the use efficiency of the memory is improved.
In order to make the aforementioned objects, features and advantages of the present application more comprehensible, preferred embodiments accompanied with figures are described in detail below.
Drawings
In order to more clearly illustrate the technical solutions of the embodiments of the present application, the drawings that are required to be used in the embodiments will be briefly described below, it should be understood that the following drawings only illustrate some embodiments of the present application and therefore should not be considered as limiting the scope, and for those skilled in the art, other related drawings can be obtained from the drawings without inventive effort.
Fig. 1 shows a flowchart of a memory management method according to an embodiment of the present application;
fig. 2 is a flowchart illustrating a specific example of a method for performing memory management by a kernel-mode process according to an embodiment of the present application;
fig. 3 is a flowchart illustrating another memory management method according to an embodiment of the present application;
fig. 4 is a flowchart illustrating a specific example of a method for executing a memory management by a memory management user-mode process according to an embodiment of the present application;
fig. 5 is a schematic diagram illustrating a memory management system according to an embodiment of the present disclosure;
fig. 6 shows a schematic diagram of a computer device provided in an embodiment of the present application.
Detailed Description
In order to make the objects, technical solutions and advantages of the embodiments of the present application clearer, the technical solutions in the embodiments of the present application will be clearly and completely described below with reference to the drawings in the embodiments of the present application, and it is obvious that the described embodiments are only a part of the embodiments of the present application, and not all the embodiments. The components of the embodiments of the present application, generally described and illustrated in the figures herein, can be arranged and designed in a wide variety of different configurations. Thus, the following detailed description of the embodiments of the present application, presented in the accompanying drawings, is not intended to limit the scope of the claimed application, but is merely representative of selected embodiments of the application. All other embodiments, which can be derived by a person skilled in the art from the embodiments of the present application without making any creative effort, shall fall within the protection scope of the present application.
In the existing cloud computing scene, virtualization is widely applied, most resources in a data center (namely a physical machine with a virtual machine) are presented to users after virtualization, most users can apply for more resources than actually needed to serve as a buffer, and the overall utilization rate of the data center is low at this moment; in order to improve the utilization rate of resources, resource over-allocation can be selected for use, that is, more virtual resources are allocated to the virtual machine than the actual resources of the physical machine. Compared with other resources, the over-allocation of the memory may cause the physical machine operating system to frequently handle errors caused by insufficient memory, which may result in an increase in the delay of the virtual machine accessing the memory, and may lead to a crash of the virtual machine, which may further cause an unstable operation of the virtual machine.
In order to ensure the stable operation of the virtual machine, a mode is usually adopted to ensure that the memory of the physical machine is not used in an over-allocation manner as much as possible, or the memory of the physical machine is subjected to over-allocation in a lower memory multiplexing proportion; although the method ensures the stable operation of the virtual machine, the high use efficiency of the physical machine cannot be ensured.
According to the memory management method, the system, the computer device and the storage medium, the kernel-mode process and the memory management user-mode process in the physical machine kernel are interactively matched, the kernel-mode process informs the memory recovery information to the memory management user-mode process after monitoring that memory recovery is needed, the memory management user-mode process determines a target virtual machine from a plurality of virtual machines running on the physical machine according to the memory recovery information and recovers the memory of the target virtual machine, so that when the memory of the physical machine is insufficient under the condition of over-allocation of the memory of the physical machine, part of the memory allocated to the target virtual machine is dynamically recovered, the reliable operation of the virtual machine is guaranteed, and the use efficiency of the memory of the physical machine is improved.
It should be noted here that the method can be used not only in the physical machine memory over-allocation scenario; the method is also suitable for the scene that the memory of the physical machine is not over-distributed.
The above-mentioned drawbacks are the results of the inventor after practical and careful study, and therefore, the discovery process of the above-mentioned problems and the solution proposed by the present application to the above-mentioned problems in the following should be the contribution of the inventor to the present application in the process of the present application.
It should be noted that: like reference numbers and letters refer to like items in the following figures, and thus, once an item is defined in one figure, it need not be further defined and explained in subsequent figures.
The execution main body of the memory management method provided by the embodiment of the disclosure is generally a physical machine with a deployed virtual machine; in the physical machine, a kernel mode process for memory recovery and a memory management user mode process are deployed. In some possible implementations, the memory management method may be implemented by a processor calling computer readable instructions stored in a memory.
In embodiments of the present application, for example, the memory may be reasonably over-allocated based on an open-source system virtualization platform, such as a Kernel-based Virtual Machine (KVM) virtualization platform.
Illustratively, the memory over-allocation is based on a KVM virtualization platform, allocates a plurality of virtual machines exceeding the physical machine configuration, and comprises over-allocation of memory and CPU, and at most 10 times of the total number of the cores of the physical CPU are supported, but virtual CPU exceeding the total number of the cores of the physical CPU are not allocated on one virtual machine. In contrast, when a similar client operating system is running, a large amount of memory can be saved through the resource over-allocation function of the KVM virtualization platform, so that more memory over-allocation can be realized, and more virtual machines can be run, but the performance is relatively poor, and the defects of resource competition and the like exist.
First, a memory management method provided in the embodiment of the present disclosure is described below by taking an execution subject as a kernel-mode process as an example.
Referring to fig. 1, a flowchart of a memory management method provided in an embodiment of the present application is applied to a kernel-mode process in a kernel of a physical machine, where the method includes steps S101 to S102, where:
s101: and responding to the trigger of the memory recovery event by a kernel mode process deployed in the physical machine kernel, and generating memory recovery information based on the current memory use information in the physical machine.
S102: and transmitting the memory recovery information to a memory management user mode process.
The following describes each of the above-mentioned steps S101 to S102 in detail.
Firstly, the method comprises the following steps: in the above S101, after the memory recovery event is triggered, in response to the triggering of the memory recovery event, the kernel mode process in the kernel of the physical machine generates the memory recovery information according to the current memory usage information in the physical machine.
The memory recovery information is used for determining a target virtual machine from a plurality of virtual machines running on a physical machine by a memory management user mode process, and performing memory recovery on the target virtual machine.
Illustratively, a memory reclamation event is an event that is triggered by a physical machine core; the physical machine kernel can monitor the use condition of the memory of the physical machine in real time; when the physical machine kernel monitors that the physical machine memory is insufficient, the physical machine kernel triggers a memory recovery event and informs the kernel mode process.
And the kernel mode process responds to the trigger of the memory recovery event and executes the specific process of memory recovery.
For example, in a possible implementation manner, the memory usage information in the embodiment of the present application may include, for example, a memory usage situation of a physical machine, and specifically include one or more of the following:
memotal — total memory;
MemFree-free memory;
a MemAvailable-usable memory;
buffers is given to the buffer memory of the file;
cached cache memory;
SwapCached-swap space memory for cache;
active-cache memory, which is often used to buffer or cache pagefile memory;
inactive-infrequently used buffer or cache pagefile memory.
The using condition of the free memory comprises the following steps:
total-total available physical memory and swap space memory;
used-physical memory and swap memory that have been used;
free-available physical memory and swap memory;
shared-physical memory;
buffer/cache-the physical memory used by the buffer and cache;
available-physical memory that may be used by an application.
In addition, the process state of the memory can be further included, including:
% CPU- -percentage of CPU used by a process;
% MEM- -the percentage of memory used by a process.
The kernel mode process can obtain the current memory use information of the physical machine, and after the memory recovery event is triggered, the kernel mode process generates the memory recovery information according to the current memory use information.
Here, the memory recycling information includes, but is not limited to: Non-Uniform Memory Access (NUMA) node information of the Memory, the size of the Memory amount to be recycled, and the size of the Memory amount already recycled are required to be recycled.
Illustratively, non-uniform memory NUMA node information includes: the method comprises three types of local nodes, neighbor nodes and remote nodes.
The local node is a node which is adjacent to the local node for all CPUs in a certain node and is a neighbor node, and the remote node is a non-local node or a neighbor node.
II, secondly: in the above S102, the kernel-mode process may transmit the memory recycling information to the memory management user-mode process, for example, in the following manner:
and writing the memory recovery information into a memory recovery information queue, wherein the recovery information queue is used for the memory management user mode process to read the memory recovery information from the memory recovery information queue.
For example, the kernel-mode process may write the memory reclamation information into the reclamation information queue, for example, in the following manner:
detecting whether the number of the memory recovery information existing in the memory recovery information queue reaches a preset number or not;
and if so, deleting one piece of memory recycling information at the head of the memory recycling information queue, and writing the current memory recycling information into the tail of the memory recycling information queue.
And if the memory recovery information does not reach the queue tail, directly transmitting the current memory recovery information to the queue tail of the memory recovery information queue.
For example, assuming that the preset number of the memory recycling information in the memory recycling information queue is n, and there are n pieces of memory recycling information currently, which are a1, a2, … …, and An, respectively, for the (n + 1) th piece of memory recycling information An +1, the memory recycling information a1 is deleted, and the memory recycling information An +1 is supplemented to the tail of the memory recycling information queue.
And if the number of the memory recovery information existing in the memory recovery information queue does not reach the preset number, directly supplementing the memory recovery information An +1 to the tail of the memory recovery information queue.
In addition, in another embodiment of the present application, if it is detected that the number of pieces of memory recycling information already existing in the memory recycling information queue reaches the preset number, the kernel mode process further sends a first memory recycling instruction to the kernel of the physical machine, so that the kernel of the physical machine executes memory recycling.
Here, the kernel of the physical machine performs memory reclamation, for example, to determine at least one target virtual machine from a plurality of virtual machines running on the physical machine, and delete the target virtual machine, so that the memory occupied by the target virtual machine is released. When the kernel executes memory recovery, the kernel determines a target virtual machine from the multiple virtual machines according to factors such as the active state of the virtual machine, the occupied memory amount and the like.
Therefore, under the condition that the memory recovery processing executed by the memory management user mode process is not timely, the memory recovery is executed by the aid of the kernel of the physical machine, and reliable operation of most of virtual machines running on the physical machine is guaranteed by sacrificing a small part of virtual machines.
In addition, in another embodiment of the present application, the method further includes: detecting whether the memory management user mode process monitors the memory recovery information queue;
and if the memory management user mode process does not monitor the memory recovery information queue, sending a second memory recovery instruction to the kernel of the physical machine so that the kernel of the physical machine executes memory recovery.
Illustratively, if it is detected that the memory management user mode process does not monitor the memory reclamation information queue, a second memory reclamation instruction is sent to the kernel of the physical machine, so that the kernel of the physical machine executes memory reclamation.
Here, the second memory reclamation instruction and the first memory reclamation instruction may be the same memory reclamation instruction or different memory reclamation instructions.
When the second memory reclamation instruction and the first memory reclamation instruction are not the same memory reclamation instruction, the specific manner in which the kernel executes the memory reclamation based on the second memory reclamation instruction may be different from the specific manner in which the kernel executes the memory reclamation based on the first memory reclamation instruction.
For example, for the second memory recycle instruction, the memory recycle instruction is sent when the memory management user mode process does not monitor the memory recycle information queue, and at this time, the memory recycle can be executed only through the kernel. For the first memory recovery instruction, if the first memory recovery instruction is generated when the memory management user mode process monitors the memory recovery information queue, the memory recovery executed by the kernel can be used as a supplement for the memory management user mode process to execute the memory recovery, and at this time, the virtual machines with a smaller quantity can be selected to be deleted; if the memory management user mode process does not monitor the memory recovery information queue, a first memory recovery instruction is generated, and the first memory recovery instruction may be the same as the second memory recovery instruction.
When the method is applied to a kernel-mode process in a kernel of a physical machine, the kernel-mode process responds to triggering of a memory recovery event and generates memory recovery information according to current memory use information in the physical machine; then, the memory recovery information is transmitted to a memory management user mode process; the memory recovery information is used for the memory management user mode process to determine a target virtual machine from a plurality of virtual machines running on the physical machine and perform memory recovery on the target virtual machine. The method can monitor the memory use condition of the physical machine in real time through the kernel-state process under the condition of memory over-allocation; when the memory of the physical machine is insufficient, the kernel-state process can timely recover information by generating the memory, and controls the memory management user-state process to recover part of the memory of the virtual machine through the memory recovery information, so that the use efficiency of the memory is improved under the condition that the virtual machine runs reliably.
Referring to fig. 2, an embodiment of the present application further provides a specific example of a memory recycling process, including:
s201: starting the physical machine and starting one or more virtual machines.
S202: loading a new kernel mode process for memory management in a kernel of the physical machine, wherein the kernel mode process creates virtual character equipment; the character device is used for storing the memory recovery information queue.
S203: and the kernel mode process determines whether a memory recovery event needs to be triggered or not according to the memory use information of the physical machine, and generates the memory recovery information based on the current memory use information in the physical machine after determining that the memory recovery event needs to be triggered.
S204: the kernel mode process judges whether the memory recovery information queue is full; if yes, jumping to S205; if not, jumping to S206;
s205: and the kernel mode process sends a memory recovery instruction to the kernel of the physical machine and triggers the kernel to recover the memory.
S206: and the kernel mode process writes the generated memory recovery information into a memory recovery information queue in the character equipment.
S207: and the kernel mode process detects whether the memory management user mode process monitors a memory recovery information queue. If not, jumping to S205; if so, it jumps to S208.
S208: and awakening the user mode process for reading the memory recovery information from the memory recovery information queue.
By the example, the memory is recycled by controlling the memory management user mode process through the kernel mode process.
The following describes a memory management method provided in the embodiment of the present disclosure, taking an execution subject as a memory management user-mode process as an example.
Referring to fig. 3, a flowchart of a memory management method provided in an embodiment of the present application is shown, where the method includes steps S301 to S304, where:
s301: and starting a memory management user mode process.
S302: the method comprises the steps that a memory management user mode process obtains memory recovery information transmitted by a kernel mode process in a physical machine, and obtains memory state information of each virtual machine running on the physical machine.
S303: and determining a target virtual machine and the amount of memory to be recovered corresponding to each target virtual machine from each virtual machine based on the memory recovery information and the memory state information of each virtual machine.
S304: and performing memory recovery on each target virtual machine based on the memory amount to be recovered.
Firstly, the method comprises the following steps: in the above S302, the memory management user mode process obtains the memory recycling information transmitted by the kernel mode process in the physical machine, for example, in the following manner
Wherein, the obtaining of the memory recycling information includes:
monitoring whether the memory recovery information exists in a memory recovery information queue; the memory recovery information is generated and written into the memory recovery information queue according to the current memory use information in the physical machine when the kernel-mode process responds to the triggering of the memory recovery event;
and if the memory recovery information exists in the memory recovery information queue, reading a piece of memory recovery information from the head of the memory recovery information queue.
For example, assume that there are n memory evictions in the memory eviction information queue, which are respectively B1、B2、……、BnIf the memory recovery information exists in the memory recovery information queue, reading B in the memory recovery information queue1And (5) recycling the information by the memory.
After reading one piece of memory recovery information from the head of the memory recovery information queue, the method further comprises the following steps:
and deleting the read memory recovery information from the memory recovery information queue.
Illustratively, memory reclamation information B in a read memory reclamation information queue1Then, the memory is recycled with the information B1And deleting the message from the memory recycling message queue.
In the virtual machine, an agent process is deployed, and the agent process can acquire the memory state information in the virtual machine and send the acquired memory state information to the memory management user state process, so that the memory management user state process can acquire the memory state information of each virtual machine deployed on the physical machine.
Here, the memory state information of any virtual machine includes one or more of the following:
the method comprises the steps of mapping a recyclable file into a memory, mapping an unrecoverable anonymous mapping memory, and measuring the current total memory size and the current free memory size of the virtual machine.
II, secondly: in the above S303, based on the memory recovery information and the memory state information of each virtual machine, a target virtual machine and a to-be-recovered memory amount corresponding to each target virtual machine are determined from each virtual machine.
Illustratively, after monitoring that memory recovery information is read from a memory recovery information queue, a memory management user mode process acquires memory state information inside each virtual machine through a proxy process started in the virtual machine, and then calculates one or more virtual machines meeting the memory recovery requirement according to the memory recovery information and the memory state information; and selecting a target virtual machine suitable for recovering the memory and the amount of the memory to be recovered corresponding to each target virtual machine from the one or more virtual machines.
Illustratively, the priority rule for selecting a target virtual machine suitable for reclaiming memory is as follows:
selecting a virtual machine with an idle memory larger than the amount of memory to be recovered;
and selecting a virtual machine with a file mapping memory larger than the amount of the memory needing to be recovered.
And if the target virtual machine cannot be determined according to the priority rule, segmenting the memory size needing to be recovered, and then respectively determining the corresponding target virtual machines according to the segmented memory size.
Illustratively, the memory reclamation information includes: when non-uniform memory of a memory needs to be recycled accesses NUMA node information, the size of a memory amount that needs to be recycled, and the size of a memory amount that has been recycled, a process for determining a target virtual machine provided in an embodiment of the present application includes:
step 1: accessing NUMA node information according to the non-uniform memory of the memory that needs to be reclaimed, and determining to use one or more virtual machines corresponding to the NUMA node.
Step 2: and determining the size of the memory amount which needs to be recycled currently based on the size of the memory amount which needs to be recycled and the size of the memory amount which is already recycled.
And step 3: determining whether a virtual machine with an idle memory larger than the current memory amount needing to be recovered exists in the determined one or more virtual machines based on the current memory amount needing to be recovered; if yes, jumping to the step 4; if not, jumping to step 5.
And 4, step 4: and taking the virtual machine with the idle memory larger than the current memory amount needing to be recycled as a target virtual machine.
And 5: determining whether a virtual machine with a file mapping memory larger than the current memory amount needing to be recovered exists in the determined one or more virtual machines based on the current memory amount needing to be recovered; if yes, jumping to step 6; if not, jumping to step 7.
Step 6: and taking the virtual machine with the file mapping memory larger than the current memory amount needing to be recovered as a target virtual machine.
And 7: and informing the kernel mode process of the information of the failure of memory recovery so that the kernel mode process judges whether to inform the kernel of memory recovery according to the current memory use condition.
In addition, in another embodiment of the present application, if the determination result in step 5 is that the target virtual machine does not exist, the current size of the memory amount needing to be recovered may be further divided into at least two new sizes of the current memory amount needing to be recovered, and step 3 to step 6 are executed again based on the at least two new sizes of the current memory amount needing to be recovered until at least one target virtual machine is determined.
Here, the target virtual machine determined based on the current size of the memory amount required to be recovered is the to-be-recovered memory amount corresponding to the target virtual machine.
In addition, after the previous required recycled memory amount is divided into at least two new current required recycled memory amounts, the target virtual machine can be determined only for the part of the at least two new current required recycled memory amounts which are divided. The memory management user mode process transmits the amount of the memory recycled to the kernel mode process after executing memory recycling, so that the kernel mode process can start the memory recycling process again based on the real-time use condition of the memory.
Thirdly, the method comprises the following steps: in the above S303, memory recovery is performed on each target virtual machine based on the amount of the memory to be recovered.
The memory recovery for each target virtual machine based on the memory amount to be recovered includes:
and based on a Memory Balloon technology, performing Memory recovery on each target virtual machine according to the amount of the Memory to be recovered.
The Memory Balloon technology is realized by cooperation of a physical machine and a VM (virtual machine), and has obvious advantages in the aspects of saving Memory and flexibly allocating Memory.
The memory management method provided in the embodiment of the application is applied to a memory management user mode process, and after the memory management user mode process is started, the memory management user mode process determines a target virtual machine and a to-be-recovered memory amount corresponding to each target virtual machine from each virtual machine through acquired memory recovery information transmitted by a kernel mode process in a physical machine and memory state information of each virtual machine running on the physical machine, and then performs memory recovery on each target virtual machine based on the to-be-recovered memory amount corresponding to the target virtual machine, so that a part of memory of the virtual machine is flexibly and dynamically recovered when the memory of the physical machine is insufficient under the condition that the memory can be over-allocated, so as to improve the use efficiency of the memory.
Referring to fig. 4, an embodiment of the present application further provides a specific example of memory management, including:
s401: and starting a memory management user mode process in the physical machine.
S402: and waiting for the kernel mode process to wake up.
S403: and after the kernel mode process awakens the memory management user mode process, the memory management user mode process sends a reading instruction to the character equipment.
S404: the memory management user mode process judges whether memory recovery information is returned in the character equipment; if yes (when the memory recycling information queue in the character device is not empty), jumping to S405; if not (the memory reclamation information queue in the character device is empty), then the process jumps to S402.
S405: and acquiring the memory use information of the virtual machine through an agent process deployed in the virtual machine.
S406: detecting whether a target virtual machine with a space memory larger than the amount of memory to be recovered exists in each virtual machine or not based on the memory use information and memory recovery information returned by the character equipment; if not, jumping to S407, if yes, jumping to S409.
S407: detecting whether a target virtual machine with file mapping larger than the memory amount needing to be recovered exists in each virtual machine or not based on the memory use information and the memory recovery information; if not, it jumps to S408. If so, the process jumps to S409.
S408: and informing the kernel mode process of the information of the failure of memory recovery so that the kernel mode process judges whether to inform the kernel of memory recovery according to the current memory use condition. Jump to S402.
S409: and carrying out memory recovery on the determined target virtual machine. After the memory is recycled, the process goes to S402.
Through the process, the dynamic recovery of the memory is realized.
Referring to fig. 5, a schematic diagram of a memory management system according to an embodiment of the present application is shown, where the memory management system includes: a kernel-mode process 51 and a memory management user-mode process 52, wherein:
the kernel mode process 51 is configured to respond to triggering of a memory recovery event, and generate memory recovery information based on current memory usage information in the physical machine; transmitting the memory recovery information to the memory management user mode process;
the memory management user state process 52 is configured to obtain memory recovery information transmitted by the kernel state process, and obtain memory state information of each virtual machine running on the physical machine; determining a target virtual machine and a memory amount to be recovered, which corresponds to each target virtual machine, from each virtual machine based on the memory recovery information and the memory state information of each virtual machine; and performing memory recovery on each target virtual machine based on the memory amount to be recovered.
Monitoring a memory recovery event through a kernel-state process for memory recovery, responding to the trigger of the memory recovery event, generating memory recovery information, and transmitting the memory recovery information to a memory management user-state process; the memory management user mode process determines a target virtual machine and the amount of memory to be recovered corresponding to each virtual machine according to the acquired memory state information of each virtual machine running on the physical machine and the memory recovery information, and finally performs memory recovery on each target virtual machine based on the amount of memory to be recovered, so that when the memory of the physical machine is insufficient under the condition of over-allocation of the memory, part of the memory of the virtual machine is flexibly and dynamically recovered, and the use efficiency of the memory is improved.
In a possible implementation manner, the kernel-mode process 51 is configured to transmit the memory reclamation information to the memory management user-mode process by:
and writing the memory recovery information into a memory recovery information queue, wherein the recovery information queue is used for the memory management user mode process to read the memory recovery information from the memory recovery information queue.
In a possible implementation manner, the kernel mode process 51 is configured to write the memory reclamation information into a memory reclamation information queue by using the following method:
detecting whether the number of the memory recovery information existing in the memory recovery information queue reaches a preset number or not;
and if so, deleting one piece of memory recycling information at the head of the memory recycling information queue, and writing the current memory recycling information into the tail of the memory recycling information queue.
In a possible implementation manner, the kernel mode process 51 is further configured to send a first memory reclamation instruction to the kernel of the physical machine after detecting that the number of the memory reclamation information existing in the memory reclamation information queue reaches the preset number, so that the kernel of the physical machine executes memory reclamation.
In a possible implementation manner, the kernel-mode process 31 is further configured to:
testing whether the memory management user mode process monitors the memory recovery information queue;
and if the memory management user mode process does not monitor the memory recovery information queue, sending a second memory recovery instruction to the kernel of the physical machine so that the kernel of the physical machine executes memory recovery.
In one possible implementation, the memory reclamation information includes: the non-uniform memory access NUMA node information of the memory needing to be recycled, the size of the memory quantity needing to be recycled and the size of the memory quantity already recycled are one or more.
In a possible implementation manner, the memory management user-mode process 52 is configured to obtain the memory recycling information transmitted by the kernel-mode process in the following manner:
monitoring whether the memory recovery information exists in a memory recovery information queue; the memory recovery information is generated and written into the memory recovery information queue according to the current memory use information in the physical machine when the kernel-mode process is triggered in response to a memory recovery event;
and if the memory recovery information exists in the memory recovery information queue, reading a piece of memory recovery information from the head of the memory recovery information queue.
In a possible implementation manner, after reading one piece of memory reclamation information from the head of the memory reclamation information queue, the memory management user-mode process 52 is further configured to:
and deleting the read memory recovery information from the memory recovery information queue.
In one possible implementation, the memory state information of any virtual machine includes one or more of the following:
the method comprises the steps of mapping a recyclable file into a memory, mapping an unrecoverable anonymous mapping memory, the current total memory size of a virtual machine and the current free memory size of the virtual machine.
In a possible implementation manner, the memory management user-mode process 52 is configured to perform memory reclamation on each target virtual machine based on the amount of the memory to be reclaimed, and includes:
and performing Memory recovery on each target virtual machine based on the Memory amount to be recovered and a Memory Balloon technology.
An embodiment of the present application further provides a computer device 600, as shown in fig. 6, which is a schematic structural diagram of the computer device 600 provided in the embodiment of the present application, and includes:
the memory management method comprises a memory 61, a processor 62 and a computer program which is stored on the memory 61 and can run on the processor 62, wherein the steps of the memory management method are realized when the processor 62 executes the computer program.
Specifically, the memory 61 and the processor 62 can be general-purpose memories and processors, which are not limited in particular, and when the processor 62 runs a computer program stored in the memory 61, the memory management method can be executed, so as to solve the problem of low memory usage efficiency caused by the fact that the memory cannot be over-allocated. And further, under the condition of memory over-allocation, when the physical machine memory is insufficient, part of the memory of the virtual machine is recycled, so that the use efficiency of the memory is improved.
An embodiment of the present application further provides a computer-readable storage medium, where a computer program is stored on the computer-readable storage medium, and when the computer program is executed by a processor, the method for managing a memory and the steps of the method for managing a memory described in the foregoing method embodiments are executed.
It is clear to those skilled in the art that, for convenience and brevity of description, the specific working processes of the system and the apparatus described above may refer to the corresponding processes in the foregoing method embodiments, and are not described herein again. In the several embodiments provided in the present application, it should be understood that the disclosed system, apparatus and method may be implemented in other ways. The above-described embodiments of the apparatus are merely illustrative, and for example, the division of the units is only one logical division, and there may be other divisions when actually implemented, and for example, a plurality of units or components may be combined or integrated into another system, or some features may be omitted, or not executed. In addition, the shown or discussed mutual coupling or direct coupling or communication connection may be an indirect coupling or communication connection of devices or units through some communication interfaces, and may be in an electrical, mechanical or other form.
The units described as separate parts may or may not be physically separate, and parts displayed as units may or may not be physical units, may be located in one place, or may be distributed on a plurality of network units. Some or all of the units can be selected according to actual needs to achieve the purpose of the solution of the embodiment.
In addition, functional units in the embodiments of the present application may be integrated into one processing unit, or each unit may exist alone physically, or two or more units are integrated into one unit.
The functions, if implemented in the form of software functional units and sold or used as a stand-alone product, may be stored in a non-volatile computer-readable storage medium executable by a processor. Based on such understanding, the technical solution of the present application or portions thereof that substantially contribute to the prior art may be embodied in the form of a software product stored in a storage medium and including instructions for causing a computer device (which may be a personal computer, a server, or a network device) to execute all or part of the steps of the method according to the embodiments of the present application. And the aforementioned storage medium includes: various media capable of storing program codes, such as a usb disk, a removable hard disk, a Read-only Memory (ROM), a Random Access Memory (RAM), a magnetic disk, or an optical disk.
Finally, it should be noted that: the above-mentioned embodiments are only specific embodiments of the present application, and are used for illustrating the technical solutions of the present application, but not limiting the same, and the scope of the present application is not limited thereto, and although the present application is described in detail with reference to the foregoing embodiments, those skilled in the art should understand that: any person skilled in the art can modify or easily conceive the technical solutions described in the foregoing embodiments or equivalent substitutes for some technical features within the technical scope disclosed in the present application; such modifications, changes or substitutions do not depart from the spirit and scope of the exemplary embodiments of the present application, and are intended to be covered by the scope of the present application. Therefore, the protection scope of the present application shall be subject to the protection scope of the claims.

Claims (13)

1. A memory management method, characterized in that the memory management method comprises:
responding to the trigger of a memory recovery event by a kernel mode process in a kernel of a physical machine, and generating memory recovery information based on current memory use information in the physical machine;
transmitting the memory recovery information to a memory management user mode process;
the memory recovery information is used for the memory management user mode process to determine a target virtual machine from a plurality of virtual machines running on the physical machine and perform memory recovery on the target virtual machine.
2. The memory management method according to claim 1, wherein the passing the memory reclamation information to a memory management user-mode process includes:
and writing the memory recovery information into a memory recovery information queue, wherein the recovery information queue is used for the memory management user mode process to read the memory recovery information from the memory recovery information queue.
3. The memory management method according to claim 2, wherein the writing the memory reclamation information into a memory reclamation information queue specifically includes:
detecting whether the quantity of the memory recovery information existing in the memory recovery information queue reaches a preset quantity or not;
and if so, deleting one piece of memory recycling information at the head of the memory recycling information queue, and writing the current memory recycling information into the tail of the memory recycling information queue.
4. The memory management method according to claim 3, further comprising, after detecting that the number of the memory eviction information existing in the memory eviction information queue reaches the preset number, the step of: and sending a first memory recovery instruction to the kernel of the physical machine so that the kernel of the physical machine executes memory recovery.
5. The memory management method according to any one of claims 2 to 4, wherein the method further comprises:
detecting whether the memory management user mode process monitors the memory recovery information queue;
and if the memory management user mode process does not monitor the memory recovery information queue, sending a second memory recovery instruction to the kernel of the physical machine so that the kernel of the physical machine executes memory recovery.
6. The memory management method according to any one of claims 1 to 4, wherein the memory reclamation information includes: the non-uniform memory access NUMA node information of the memory needing to be recycled, the size of the memory quantity needing to be recycled and the size of the memory quantity already recycled are one or more.
7. A memory management method, characterized in that the memory management method comprises:
starting a memory management user mode process;
the method comprises the steps that a memory management user mode process obtains memory recovery information transmitted by a kernel mode process in a physical machine, and obtains memory state information of each virtual machine running on the physical machine;
determining a target virtual machine and a memory amount to be recovered, which corresponds to each target virtual machine, from each virtual machine based on the memory recovery information and the memory state information of each virtual machine;
and performing memory recovery on each target virtual machine based on the memory amount to be recovered.
8. The memory management method according to claim 7, wherein the obtaining the memory recycling information includes:
monitoring whether the memory recovery information exists in a memory recovery information queue; the memory recovery information is generated and written into the memory recovery information queue according to the current memory use information in the physical machine when the kernel-mode process responds to the triggering of the memory recovery event;
and if the memory recovery information exists in the memory recovery information queue, reading a piece of memory recovery information from the head of the memory recovery information queue.
9. The memory management method according to claim 8, further comprising, after reading one piece of the memory eviction information from the head of the memory eviction information queue:
and deleting the read memory recovery information from the memory recovery information queue.
10. The memory management method according to any one of claims 7 to 9, wherein the memory state information of any one virtual machine includes one or more of the following:
the method comprises the steps of mapping a recyclable file into a memory, mapping an unrecoverable anonymous mapping memory, the current total memory size of a virtual machine and the current free memory size of the virtual machine.
11. A memory management system, applied to a physical machine, the memory management system comprising: a kernel mode process and a memory management user mode process for memory recovery;
the kernel mode process is used for responding to the triggering of the memory recovery event and generating memory recovery information based on the current memory use information in the physical machine; transmitting the memory recovery information to the memory management user mode process;
the memory management user mode process is used for acquiring memory recovery information transmitted by the kernel mode process and acquiring memory state information of each virtual machine running on the physical machine; determining a target virtual machine and a memory amount to be recovered, which corresponds to each target virtual machine, from each virtual machine based on the memory recovery information and the memory state information of each virtual machine; and performing memory recovery on each target virtual machine based on the memory amount to be recovered.
12. A computer device, comprising: a processor, a memory and a bus, the memory storing machine-readable instructions executable by the processor, the processor and the memory communicating over the bus when a computer device is running, the machine-readable instructions when executed by the processor performing the steps of the method of any of claims 1 to 10.
13. A computer-readable storage medium, characterized in that a computer program is stored on the computer-readable storage medium, which computer program, when being executed by a processor, performs the steps of the method according to any one of claims 1 to 10.
CN202010534513.6A 2020-06-12 2020-06-12 Memory management method, system, computer equipment and storage medium Active CN111679914B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010534513.6A CN111679914B (en) 2020-06-12 2020-06-12 Memory management method, system, computer equipment and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010534513.6A CN111679914B (en) 2020-06-12 2020-06-12 Memory management method, system, computer equipment and storage medium

Publications (2)

Publication Number Publication Date
CN111679914A true CN111679914A (en) 2020-09-18
CN111679914B CN111679914B (en) 2023-06-27

Family

ID=72454675

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010534513.6A Active CN111679914B (en) 2020-06-12 2020-06-12 Memory management method, system, computer equipment and storage medium

Country Status (1)

Country Link
CN (1) CN111679914B (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112596889A (en) * 2020-12-29 2021-04-02 凌云光技术股份有限公司 Method for managing chained memory based on state machine
CN114185645A (en) * 2021-12-09 2022-03-15 北京字节跳动网络技术有限公司 Memory processing method and device

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060294330A1 (en) * 2005-06-27 2006-12-28 Stanfill Craig W Managing memory pages
CN104796337A (en) * 2015-04-10 2015-07-22 京信通信系统(广州)有限公司 Method and device for forwarding message
CN105630965A (en) * 2015-12-24 2016-06-01 西安电子科技大学 System and method for securely deleting file from user space on mobile terminal flash medium
CN105701025A (en) * 2015-12-31 2016-06-22 华为技术有限公司 Memory recovery method and device
US20180074956A1 (en) * 2016-09-09 2018-03-15 Alibaba Group Holding Limited Method, apparatus, and electronic device for modifying memory data of a virtual machine
US20180321879A1 (en) * 2015-12-31 2018-11-08 Huawei Technologies Co., Ltd. Method and Apparatus for Processing Read/Write Request in Physical Machine
CN110532197A (en) * 2019-08-30 2019-12-03 Oppo(重庆)智能科技有限公司 Method for recovering internal storage and device, electronic equipment, storage medium
US10628263B1 (en) * 2013-08-02 2020-04-21 David Cowen Logfile-related technologies and techniques

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060294330A1 (en) * 2005-06-27 2006-12-28 Stanfill Craig W Managing memory pages
US10628263B1 (en) * 2013-08-02 2020-04-21 David Cowen Logfile-related technologies and techniques
CN104796337A (en) * 2015-04-10 2015-07-22 京信通信系统(广州)有限公司 Method and device for forwarding message
CN105630965A (en) * 2015-12-24 2016-06-01 西安电子科技大学 System and method for securely deleting file from user space on mobile terminal flash medium
CN105701025A (en) * 2015-12-31 2016-06-22 华为技术有限公司 Memory recovery method and device
US20180321879A1 (en) * 2015-12-31 2018-11-08 Huawei Technologies Co., Ltd. Method and Apparatus for Processing Read/Write Request in Physical Machine
US20180074956A1 (en) * 2016-09-09 2018-03-15 Alibaba Group Holding Limited Method, apparatus, and electronic device for modifying memory data of a virtual machine
CN110532197A (en) * 2019-08-30 2019-12-03 Oppo(重庆)智能科技有限公司 Method for recovering internal storage and device, electronic equipment, storage medium

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112596889A (en) * 2020-12-29 2021-04-02 凌云光技术股份有限公司 Method for managing chained memory based on state machine
CN112596889B (en) * 2020-12-29 2023-09-29 凌云光技术股份有限公司 Method for managing chained memory based on state machine
CN114185645A (en) * 2021-12-09 2022-03-15 北京字节跳动网络技术有限公司 Memory processing method and device
CN114185645B (en) * 2021-12-09 2023-08-04 抖音视界有限公司 Memory processing method and device

Also Published As

Publication number Publication date
CN111679914B (en) 2023-06-27

Similar Documents

Publication Publication Date Title
KR101936453B1 (en) Memory management model and interface for new applications
US10114740B2 (en) Memory management techniques
US9940228B2 (en) Proactive memory reclamation for java virtual machines
KR101976221B1 (en) Memory management model and interface for unmodified applications
JP5510556B2 (en) Method and system for managing virtual machine storage space and physical hosts
US8176294B2 (en) Reducing storage expansion of a virtual machine operating system
US10241550B2 (en) Affinity aware parallel zeroing of memory in non-uniform memory access (NUMA) servers
US9081692B2 (en) Information processing apparatus and method thereof
KR20140035416A (en) Memory manager with enhanced application metadata
CN109992352B (en) Data transmission method and device, electronic equipment and readable storage medium
CN111679914B (en) Memory management method, system, computer equipment and storage medium
CN112579251A (en) Method and equipment for managing memory of virtual machine
CN110018883A (en) A kind of virtual machine delet method, device, equipment and storage medium
CN114546634A (en) Management of a synchronized restart of a system
CN113204407A (en) Memory over-allocation management method and device
JP6464288B2 (en) Program, apparatus, server, and storage medium for deleting a cloud host in a cloud computing environment
CN112162818B (en) Virtual memory allocation method and device, electronic equipment and storage medium
JP2017033375A (en) Parallel calculation system, migration method, and migration program
CN113268356B (en) LINUX system-based multi-GPU board card bounding system, method and medium
Garrido et al. vmca: Memory capacity aggregation and management in cloud environments
CN110309008B (en) Method and system for storing memory data in case of system abnormality
CN113918283A (en) Data storage method, device, system and medium
CN115408105A (en) Missing page exception handling method, device, equipment and storage medium
CN117631995A (en) Data processing method and device of distributed storage system, electronic equipment and medium
JP2014157476A (en) Measurement device and measurement method

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
CP01 Change in the name or title of a patent holder
CP01 Change in the name or title of a patent holder

Address after: 100041 B-0035, 2 floor, 3 building, 30 Shixing street, Shijingshan District, Beijing.

Patentee after: Douyin Vision Co.,Ltd.

Address before: 100041 B-0035, 2 floor, 3 building, 30 Shixing street, Shijingshan District, Beijing.

Patentee before: Tiktok vision (Beijing) Co.,Ltd.

Address after: 100041 B-0035, 2 floor, 3 building, 30 Shixing street, Shijingshan District, Beijing.

Patentee after: Tiktok vision (Beijing) Co.,Ltd.

Address before: 100041 B-0035, 2 floor, 3 building, 30 Shixing street, Shijingshan District, Beijing.

Patentee before: BEIJING BYTEDANCE NETWORK TECHNOLOGY Co.,Ltd.