Memory overcommitment processing method and system

By analyzing the page fault status and cold page data of the virtual machine, the memory overspending index is dynamically adjusted, which solves the problem of reduced host performance caused by memory overspending and achieves more stable memory management.

WO2025243103A1PCT designated stage Publication Date: 2025-11-27CLOUD INTELLIGENCE ASSETS HOLDING (SINGAPORE) PTE LTD
View PDF 4 Cites 0 Cited by

Patent Information

Application Number
PCT/IB2025/053505
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Priority Date
2024-05-20
Filing Date
2025-04-03
Publication Date
2025-11-27

AI Technical Summary

Technical Problem

In existing technologies, page faults caused by memory over-splitting severely degrade host machine performance and input/output performance, affecting the stability of host machine operation.

Method used

By identifying page fault status data for multiple virtual machines at different historical time periods, the performance loss is evaluated, and historical cold page data is used to predict future cold page data to determine memory over-allocation metrics, thereby dynamically adjusting memory allocation and reducing page replacement and address translation pressure.

Benefits of technology

It improves the stability of host machine memory performance and input/output performance, reduces the probability of performance degradation, and enhances the smoothness of host machine operation and user experience.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure IB2025053505_27112025_PF_FP_ABST
    Figure IB2025053505_27112025_PF_FP_ABST
Patent Text Reader

Abstract

Embodiments of the present description provide a memory overcommitment processing method and system. The memory overcommitment processing method is applied to a host machine, and the host machine runs a plurality of virtual machines. The method comprises: determining page fault state data of a plurality of virtual machines within a first historical time period; on the basis of the page fault state data, determining a performance loss result of the plurality of virtual machines; on the basis of historical cold page data of the plurality of virtual machines within a second historical time period, determining predicted cold page data of the plurality of virtual machines within a future time period, wherein the duration of the second historical time period is less than or equal to the duration of the first historical time period, and the duration of the second historical time period is the same as the duration of the future time period; and on the basis of the performance loss result and the predicted cold page data, determining memory overcommitment metrics of the plurality of virtual machines within the future time period. The method reduces the page replacement pressure and address translation pressure of a virtual machine, reduces the performance reduction probability of the host machine, and improves the memory performance and operation stability of the host machine.
Need to check novelty before this filing date? Find Prior Art

Description

[0001] The present disclosure claims priority to Chinese Patent Application No. 202410627061.4, filed on May 20, 2024, with the Chinese Patent Office, entitled "Memory overcommitment processing method and system", the entire contents of which are incorporated herein by reference. TECHNICAL FIELD The embodiments of the present specification relate to the technical field of computer technology, and in particular, to a memory overcommitment processing method. One or more embodiments of the present specification also relate to a memory overcommitment processing system. BACKGROUND Generally, in order to balance the memory resources of each virtual machine, the memory management system of the host machine performs memory overcommitment on the virtual memory of the virtual machine to achieve scheduling of memory resources. However, there is a situation of page fault in memory overcommitment, and when a continuous page fault occurs, the page replacement, address translation and other operations caused by the page fault will continue to be performed, resulting in a serious reduction in the performance of the host machine, such as memory performance and input / output performance, thereby reducing the stability of the host machine. Therefore, there is an urgent need for a technical solution to solve the above technical problems. SUMMARY In view of this, the embodiments of the present specification provide a memory overcommitment processing method. One or more embodiments of the present specification also relate to a memory overcommitment processing device, a computing device, a computer-readable storage medium and a computer program product to solve the technical defects in the prior art that the performance of the host machine is reduced and the running stability is reduced due to continuous page faults. According to a first aspect of the embodiments of the present specification, a memory overcommitment processing method is provided, applied to a host machine, the host machine running a plurality of virtual machines, the method comprising: determining page fault state data of the plurality of virtual machines in a first historical time period; determining performance loss results of the plurality of virtual machines according to the page fault state data; determining predicted cold page data of the plurality of virtual machines in a future time period according to historical cold page data of the plurality of virtual machines in a second historical time period, wherein the length of the second historical time period is less than or equal to the length of the first historical time period, and the length of the second historical time period is the same as the length of the future time period; and determining memory overcommitment indicators of the plurality of virtual machines in the future time period according to the performance loss results and the predicted cold page data.According to a second aspect of the embodiments of the present specification, a memory over-commitment processing system is provided, applied to a host computer, wherein the host computer runs a plurality of virtual machines, and the system comprises: a state data determination unit configured to determine page fault state data of the plurality of virtual machines in a first historical time period; a performance loss result determination unit configured to determine performance loss results of the plurality of virtual machines according to the page fault state data; a cold page data determination unit configured to determine predicted cold page data of the plurality of virtual machines in a future time period according to historical cold page data of the plurality of virtual machines in a second historical time period, wherein a length of the second historical time period is less than or equal to a length of the first historical time period, and the length of the second historical time period is the same as that of the future time period; and a memory over-commitment index determination unit configured to determine a memory over-commitment index of the plurality of virtual machines in the future time period according to the performance loss results and the predicted cold page data. According to a third aspect of the embodiments of the present specification, a computing device is provided, comprising: a memory and a processor; the memory is configured to store computer programs / instructions, and the processor is configured to execute the computer programs / instructions, and the computer programs / instructions, when executed by the processor, implement the steps of the above memory over-commitment processing method. According to a fourth aspect of the embodiments of the present specification, a computer readable storage medium is provided, which stores computer programs / instructions, and the computer programs / instructions, when executed by the processor, implement the steps of the above memory over-commitment processing method. According to a fifth aspect of the embodiments of the present specification, a computer program product is provided, comprising computer programs / instructions, and the computer programs / instructions, when executed by the processor, implement the steps of the above memory over-commitment processing method.One embodiment of the present specification provides a memory overcommitment processing method. The memory overcommitment processing method determines the page fault state data of a plurality of virtual machines in a first historical time period, determines the performance loss result of the plurality of virtual machines, determines the host performance loss (for example, memory performance, input / output performance, etc.) caused by the page fault of the plurality of virtual machines, further determines the predicted cold page data of the plurality of virtual machines in a future time period by using the historical cold page data of the plurality of virtual machines in a second historical time period, obtains the upper limit of the memory overcommitment that can be borne by the plurality of virtual machines, and determines the memory overcommitment index of the plurality of virtual machines in the future time period according to the performance loss result of the plurality of virtual machines and the predicted cold page data of the plurality of virtual machines in the future time period. In consideration of the bearing capacity of the plurality of virtual machines, the available virtual memory is increased, the page replacement pressure and address translation pressure in the running process of each virtual machine are reduced, the probability of reducing the host memory performance and input / output performance is reduced, and the stability of the host memory and the running stability of the host are further improved. FIG. 1 is a specific application scene diagram of a memory overcommitment processing method according to an embodiment of the present specification; FIG. 2 is a flowchart of a memory overcommitment processing method according to an embodiment of the present specification; FIG. 3 is a process flowchart of a memory overcommitment processing method according to an embodiment of the present specification; FIG. 4 is a structural schematic diagram of a memory overcommitment processing system according to an embodiment of the present specification; FIG. 5 is a structural block diagram of a computing device according to an embodiment of the present specification. The specific embodiments are set forth in the following description and are shown in the drawings that accompany the following written description. It should be understood that the terms used herein are for the purpose of describing specific embodiments and the terms are not intended to be limiting. It should be further understood that the use of relational terms such as first and second and the like are used to distinguish one from another unless context clearly indicates otherwise. Further, it should be understood that the terms "comprises" and / or "comprising," or "includes" and / or "including" when used in this specification, specify the presence of stated features, regions, integers, steps, operations, elements, and / or components, but do not preclude the presence or addition of one or more other features, regions, integers, steps, operations, elements, components, and / or groups thereof.For example, without departing from the scope of one or more embodiments of the present specification, the first can also be referred to as the second, and similarly, the second can also be referred to as the first. Depending on the context, the word "if" as used herein can be interpreted as "when" or "upon" or "in response to a determination". In addition, it needs to be explained that the user information (including but not limited to user device information, user personal information, etc.) and data (including but not limited to data for analysis, stored data, displayed data, etc.) involved in one or more embodiments of the present specification are information and data authorized by the user or authorized by all parties, and the collection, use and processing of related data need to comply with relevant laws and regulations and standards of the country and region, and provide corresponding operation portal for the user to choose authorization or refusal. First of all, the terms involved in one or more embodiments of the present specification are explained. Host operating system (host): the operating system of the host, which can manage various resources on the host. Virtual machine operating system (guest): the client operating system running in the virtualization environment, which can manage various resources in the virtual machine. Memory overcommitment: can be understood as memory overallocation, a memory allocation strategy that can borrow the memory not used in a certain guest to other guests or to the host. Quota: the quota of memory overcommitment, which can be understood as the memory overcommitment that a single guest needs to bear. Holt-Winters model: also known as the triple exponential smoothing model, a time series prediction model that can be used to predict the future prediction value of the time series. Page fault: also known as page miss, page miss, page fault interrupt, page fault, hard error, hard interrupt, etc., which refers to the interrupt generated when a software (such as a virtual machine) tries to access a memory page that has been mapped in the virtual address space but has not been loaded in the physical memory. Central processing unit (CPU): one of the core components of a computer system, responsible for executing instructions, processing data, and controlling the operation of the entire system. In a virtualization system, guest memory overcommitment can help improve the utilization of host memory resources; in order to improve the utilization of host memory resources, each guest can be allocated a quota to swap out the pages corresponding to each guest.One embodiment of the present specification provides a quota allocation scheme, specifically, the memory over-allocated of the host as a whole is evenly allocated to each guest. However, due to the different types of tasks processed by each guest, the memory occupancy is different, and the average allocation of the quota may cause the memory of the guest with high load to be insufficient, while the memory of the guest with low complexity is redundant and idle, resulting in reduced utilization of the overall memory resources of the host. Therefore, one embodiment of the present specification provides another quota allocation scheme, specifically, the quota is allocated according to the load of each guest. However, due to the real-time changes of the guest load, real-time allocation of the quota will cause a significant reduction in the performance of the host, in addition, the quota allocation of the guest with high load is not timely, which will cause the guest to continuously and frequently perform page switching, address switching and other operations during running, which will also cause a significant reduction in the performance of the host, and more than that, it will also cause the host to have more performance fluctuations and cannot run smoothly. Therefore, in the present specification, a memory over-allocation processing method is provided, and the present specification also relates to a memory over-allocation processing device, a computing device, a computer readable storage medium, and a computer program product, which are described in detail one by one in the following embodiments. Referring to FIG. 1, FIG. 1 shows a specific application scenario of a memory over-allocation processing method according to one embodiment of the present specification. As shown in FIG. 1, FIG. 1 includes a client 102, a host 104, and a plurality of virtual machines 106 running in the host 104; wherein the client 102 can be understood as a mobile phone, a tablet computer, a notebook computer, a desktop computer, a smart bracelet, a smart watch, etc., the host 104 can be understood as the client 102, or as other servers, including but not limited to a single physical server, a physical server cluster, a single cloud server, a cloud server cluster, etc., the virtual machine 106 can be understood as a complete computer system with complete hardware system function running in a completely isolated environment in the host 104, in the case where the host 104 is understood as a server other than the client 102, the client 102 and the host 104 can communicate through connection methods including but not limited to wired connection, wireless connection, etc. In specific implementation, the user can use any one or more virtual machines 106 running in the host 104 in the client 102, the host provides memory support to each virtual machine 106 to support the running of each virtual machine 106, that is, to allocate memory to each virtual machine 106.Since the virtual machines 106 do not use all the memory allocated to themselves at the same time, there is a case of low utilization of total memory (i.e., the sum of the memory allocated to each virtual machine). Therefore, the host computer 104 can perform memory overcommitment to each virtual machine 106. Specifically, the host computer 104 determines page fault state data of the plurality of virtual machines 106 in a first historical time period, determines the page fault situation of the plurality of virtual machines 106 and the situation caused by the page fault based on the page fault state data of the plurality of virtual machines 106, evaluates the performance loss result of the plurality of virtual machines 106, then determines predicted cold page data of the plurality of virtual machines 106 in a future time period based on historical cold page data of the plurality of virtual machines 106 in a second historical time period, and determines the memory overcommitment index of the plurality of virtual machines in the future time period based on the performance loss result and the predicted cold page data, to perform memory overcommitment to each virtual machine. The memory overcommitment processing method provided by the embodiments of the present specification determines the page fault state data of the plurality of virtual machines in the first historical time period, determines the performance loss result of the plurality of virtual machines, to determine the host computer performance loss (e.g., memory performance, input / output performance, etc.) caused by the page fault of the plurality of virtual machines, further determines the predicted cold page data of the plurality of virtual machines in the future time period based on the historical cold page data of the plurality of virtual machines in the second historical time period, to obtain the upper limit of the memory overcommitment that can be borne by the plurality of virtual machines, and then determines the memory overcommitment index of the plurality of virtual machines in the future time period based on the performance loss result of the plurality of virtual machines and the predicted cold page data of the plurality of virtual machines in the future time period. In consideration of the bearing capacity of the plurality of virtual machines, the available virtual memory is increased, the page replacement pressure and address translation pressure during the operation of each virtual machine are reduced, so as to reduce the probability of reducing the memory performance and input / output performance of the host computer, and further improve the running stability of the host computer. Further, the running stability of the virtual machine running with the host computer used by the user is improved, so as to improve the user experience. Referring to FIG. 2, FIG. 2 shows a flowchart of a memory overcommitment processing method according to an embodiment of the present specification, which is applied to a host computer running a plurality of virtual machines, and specifically includes the following steps. Step 202: Determine the page fault state data of the plurality of virtual machines in a first historical time period.The host machine can be understood as the host machine 104 described above, the host operating system runs a memory overcommitment processing system, which can implement memory overcommitment processing on the memory of the host machine; the virtual machine can be understood as the virtual machine 106 described above; the page fault state data can be understood as related data describing a page fault event and / or data reflecting the impact of a page fault, for example, the page fault state data can be understood as the occurrence of a page fault event (such as the number of page faults), the type of page fault (such as primary page fault, secondary page fault), the reason for the page fault (such as first access, replacement due to insufficient memory, shared resource access), page fault rate, page fault impact (response time, CPU utilization, CPU performance, disk I / O performance), and the like; the first historical time period can be understood as one or more historical time periods, for example, one first historical time period can be understood as from 10:30:00 on January 1, 2024 to 10:30:05 on January 1, 2024, or one first historical time period can be understood as from 10:30:00 on January 1, 2024 to 11:00:00 on January 1, 2024, or again, one first historical time period can be understood as from 10:30:00 on January 1, 2024 to 22:30:00 on January 1, 2024, and the like. Based on this, the page fault state data of the virtual machine in the first historical time period can be understood as the page fault state data of the virtual machine, with the data timestamp located in the page fault state data of the first historical time period. In actual applications, the memory overcommitment processing method provided by the embodiments of the present disclosure can perform memory overcommitment processing according to a scheduling period, that is, performing memory overcommitment once in each scheduling period, for example, in the case of a scheduling period of 5s, performing memory overcommitment once in each scheduling period can be understood as performing memory overcommitment processing once every 5s; taking the current scheduling time as an example, the memory overcommitment processing server can calculate the first historical time period according to the current scheduling time, and the specific implementation manner is as follows: before determining the page fault state data of the plurality of virtual machines in the first historical time period, further comprising: determining a current scheduling time and a preset time length, and determining a first historical time period according to the current scheduling time and the preset time length, wherein the current scheduling time is the time starting point of the future time period. Specifically, the current scheduling time can be understood as the starting time of the memory overcommitment processing performed by the current memory overcommitment processing server, and the preset time length can be understood as one or more time dimensions that are set in advance to analyze the page fault state data of the plurality of virtual machines in one or more time dimensions.The future time period can be understood as a time period consistent with the time period corresponding to the current scheduling period. For example, the length of the scheduling period is set to 5s, the current scheduling time is January 1, 2024, 10:30:00, the time period corresponding to the current scheduling period is from January 1, 2024, 10:30:00 to January 1, 2024, 10:30:05, and based on this, the future time period can be understood as from January 1, 2024, 10:30:00 to January 1, 2024, 10:30:05. The time start point can be understood as the start point of the time period, and the start point of the time period can be understood as the earliest time of the time period or the latest time of the time period. For ease of understanding, the embodiments of the present specification take the start point of the time period as the earliest time of the time period and the time end point of the time period as the latest time of the time period as an example for illustrative description, but are not limited thereto, and the specific implementation can be set according to the requirements; for example, a time period from January 1, 2024, 10:30:00 to January 1, 2024, 10:30:10, the time start point is January 1, 2024, 10:30:00. In specific implementation, the current scheduling time and the preset time length are determined, and the first historical time period is determined according to the current scheduling time and the preset time length. It can be understood that the current scheduling time is taken as a time end point, the preset time length is taken as a time length, and the corresponding time start point can be determined according to the time end point and the time length, and then the time period between the time start point and the time end point is determined as the first historical time period. For example, the current scheduling time is January 1, 2024, 10:30:00, and the preset time length is 5s, and the first historical time period can be determined as from January 1, 2024, 10:29:55 to January 1, 2024, 10:30:00 according to the current scheduling time and the preset time length.The embodiment of the present specification provides a memory overprovisioning processing method. By using the current scheduling time and the preset time length, the first historical time period is determined, so that the page fault state data of the plurality of virtual machines in the first historical time period is closer to the current scheduling time, thereby improving the accuracy of subsequent memory overprovisioning processing according to the page fault state data of the plurality of virtual machines in the first historical time period. In each scheduling period, memory overprovisioning processing is performed, so that dynamic memory overprovisioning processing can be performed according to the dynamic information of each virtual machine, thereby further reducing the probability of reducing the host memory performance and input / output performance, and improving the running stability of the host. In actual application, in order to improve the accuracy of subsequent memory overprovisioning processing according to the page fault state data, the page fault state data can be determined from multiple time dimensions, and the specific implementation manner is as follows. The preset time length includes a first preset time length, a second preset time length, and a third preset time length. The first historical time period is determined according to the current scheduling time and the preset time length, which includes: determining three first historical time periods according to the current scheduling time, the first preset time length, the second preset time length, and the third preset time length. Wherein, the first preset time length, the second preset time length, and the third preset time length can be understood as three preset time lengths with different time lengths, for example, the first preset time length can be understood as 5s, the second preset time length can be understood as half an hour, and the third preset time length can be understood as 12 hours. Alternatively, the first preset time length can be understood as 10s, the second preset time length can be understood as 1 minute, and the third preset time length can be understood as 1 hour. In actual application, the first preset time length, the second preset time length, and the third preset time length can be set according to actual needs, and the embodiment of the present specification does not limit this. In addition, in order to facilitate explanation, the embodiment of the present specification takes the first preset time length being less than the second preset time length, and the second preset time length being less than the third preset time length as an example for subsequent explanation, but the present specification is not limited to this size limit relationship. Further, in the case that the first preset time length is less than the second preset time length, and the second preset time length is less than the third preset time length, the time length of the first preset time length can be understood as the time length for observing burst page faults; the time length of the second preset time length can be understood as the time length for observing short-term page faults; and the third preset time length can be understood as the time length for observing long-term page faults; wherein, the burst page faults, the short-term page faults, and the long-term page faults are page fault states in three time dimensions.The burst page fault can be understood as a memory page fault state caused by a memory not stored in a physical memory in a case that a burst loading exceeds a physical memory limit. The short-term page fault can be understood as a page fault state of a page not used in a short time (for example, half an hour or one hour) and loaded from the memory to the disk in a case that the physical page is insufficient. The long-term page fault can be understood as a page fault state of a page not used in a long time (for example, half a day or one day). Based on this, the first preset time length, the second preset time length and the third preset time length can be understood as three preset time lengths of different time lengths corresponding to three time dimensions of the page fault states. Correspondingly, the three first historical time periods determined according to the current scheduling time, the first preset time length, the second preset time length and the third preset time length can be understood as the first historical time periods in the three time dimensions corresponding to the current scheduling time, that is, the first historical time period for observing the burst page fault, the second historical time period for observing the short-term page fault and the third historical time period for observing the long-term page fault. In a specific implementation, one first historical time period can be determined according to the current scheduling time and the first preset time length, another first historical time period can be determined according to the current scheduling time and the second preset time length, and still another first historical time period can be determined according to the current scheduling time and the third preset time length, so that the three first historical time periods are determined. Specifically, the specific implementation of determining the corresponding first historical time period according to the current scheduling time and a preset time length can be referred to the implementation of the above embodiment, which is not described herein again. The memory overprovisioning processing method provided in the embodiment of the present specification determines the corresponding three first historical time periods according to the current scheduling time and the three different preset time lengths, so that the page fault information can be analyzed from the three time dimensions, and the richness of the page fault information is improved. In actual application, after the three first historical time periods are determined, the page fault state data corresponding to the three historical time periods can be determined to improve the data richness, and the specific implementation is as follows. The method for determining the page fault state data of the plurality of virtual machines in the first historical time period comprises: determining the page fault state data of the plurality of virtual machines in each first historical time period of the three first historical time periods.The memory over-provisioning method provided by the embodiments of the present specification determines the page fault state data of a plurality of virtual machines in three first historical time periods through three time dimensions, so that the page fault state data is more abundant, and the error in the page fault state data observed by a single time dimension is avoided, thereby preventing the subsequent memory over-provisioning process from being inaccurate, and further improving the accuracy of the subsequent memory over-provisioning process based on the page fault state data. Step 204: determining the performance loss result of the plurality of virtual machines according to the page fault state data. The performance loss result can be understood as the result of scoring the loss of virtual machine performance. Specifically, since the page fault state data contains one or more of the page fault event occurrence (such as the number of page faults), the page fault type (such as primary page fault and secondary page fault), the page fault reason (such as first access, replacement due to insufficient memory, shared resource access), the page fault rate, the page fault impact (response time, CPU utilization, CPU performance, disk I / O performance), and the like, when evaluating the performance loss of the virtual machine according to the page fault state data, the appropriate data can be selected according to the actual needs, and the performance loss of the virtual machine is evaluated according to the selected data. It needs to be noted that the embodiments of the present specification are exemplarily described by taking the page fault state data including the number of page faults and the page fault cost as an example, but are not limited thereto. In actual application, when the page fault state data includes the number of page faults and the page fault cost, the specific implementation manner of determining the performance loss of the plurality of virtual machines according to the page fault state data is as follows. The page fault state data includes the number of page faults and the page fault cost; the performance loss result of the plurality of virtual machines is determined according to the page fault state data, including: determining the number of page faults and the page fault cost of the plurality of virtual machines in the first historical time period according to the page fault state data; determining the first performance loss result of the number of page faults of the plurality of virtual machines for the first historical time period, and the second performance loss result of the page fault cost of the plurality of virtual machines for the first historical time period; performing weighted summation processing and normalization processing on the first performance loss result of the number of page faults of the plurality of virtual machines for the first historical time period, and the second performance loss result of the page fault cost of the plurality of virtual machines for the first historical time period, by using the weight of the first performance loss result and the weight of the second performance loss result, to determine the performance loss result of the plurality of virtual machines.Specifically, the page fault times (denoted as pf below) can be understood as the number of times of page faults, and the page fault times of the virtual machines can be understood as the number of times of page faults caused by the virtual machines during the running process; the page fault cost can be understood as the additional performance usage of the CPU caused by the page faults, for example, the page fault cost (denoted as psi below) can be understood as the additional time consumption, power consumption and the like of the CPU caused by the page faults. Based on this, after the page fault state data is obtained, the page fault times and the page fault cost of the plurality of virtual machines in the first historical time period can be determined according to the page fault state data, so as to perform weighted summation and normalization processing on the first performance loss result and the second performance loss result according to the first performance loss result of the plurality of virtual machines for the page fault times, the second performance loss result for the page fault cost, and the weights of the first performance loss result and the second performance loss result, so as to obtain the performance loss result of each virtual machine in the plurality of virtual machines. For example, the page fault times of a certain virtual machine in the first historical time period can be understood as 2 times, and the first performance loss result of the virtual machine for the page fault times can be understood as 2; for another example, the page fault times of a certain virtual machine in the first historical time period can be understood as 5 times, and the first performance loss result of the virtual machine for the page fault times can be understood as 5; in the case where the page fault cost is understood as the time overhead of the CPU caused by the page faults, the page fault cost of a certain virtual machine in the first historical time period can be understood as 10 ms, 20 ms or the like, and correspondingly, the second performance loss result of the virtual machine for the page fault cost can be understood as 500 J, 600 J or the like, or in the case where the page fault cost is understood as the power consumption overhead of the CPU caused by the page faults, the page fault cost of a certain virtual machine in the first historical time period can be understood as 500, 600 or the like. In the case where the first performance loss result and the second performance loss result of the plurality of virtual machines are determined, the first performance loss result and the second performance loss result can be weighted and summed according to the weights of the first performance loss result and the second performance loss result of the plurality of virtual machines, and normalization processing is performed, wherein the normalization processing can be understood as normalizing the summation result obtained by weighted summation of the first performance loss result and the second performance loss result to a value between (0, 1), so as to obtain the performance loss result of each virtual machine in the plurality of virtual machines. It should be noted that the weight of the first loss result and the weight of the second loss result can be set according to actual requirements, and the number of the weight of the first loss result and the weight of the second loss result is not limited in the embodiments of the present disclosure.The embodiment of the present specification provides a memory over-provisioning processing method. The performance loss result is determined by using the page fault times and page fault costs contained in the page fault state data, so that the analysis of the page fault information is more comprehensive, the accuracy of the performance loss result is improved, and through the weighted summation and normalization processing of the first loss result and the second loss result, the performance loss data of the determined multiple virtual machines is more standardized, and the accuracy of the memory over-provisioning index of each virtual machine in the subsequently determined multiple virtual machines is improved. In actual application, in the case that the above-mentioned first historical time period is three, the performance loss data of the multiple virtual machines can also be determined according to the page fault state data of the multiple virtual machines in the three first historical time periods, and the specific implementation is as follows. The performance loss result of the multiple virtual machines is determined according to the page fault state data, including: determining the performance loss result of the multiple virtual machines in each first historical time period according to the page fault state data of the multiple virtual machines in each first historical time period; and performing weighted summation processing and normalization processing on the performance loss result of the multiple virtual machines in each first historical time period by using the weight corresponding to each first historical time period of the multiple virtual machines, to determine the performance loss result of the multiple virtual machines. Specifically, in the case that the three first historical time periods are determined according to the current scheduling moment, the first preset time length, the second preset time length and the third preset time length, the performance loss result of the multiple virtual machines in each first historical time period can be determined according to the page fault state data of the multiple virtual machines in each first historical time period. The weight corresponding to each first historical time period can be understood as the weight corresponding to each first historical time period, for example, the weight of the three first historical time periods can be understood as 0.2, 0.3 and 0.5, or the weight of the three first historical time periods can be understood as 0.4, 0.3 and 0.3. Based on this, the weight corresponding to each first historical time period of the multiple virtual machines can be understood as the weight corresponding to each first historical time period of each virtual machine in the multiple virtual machines, for example, the weight corresponding to each first historical time period of each virtual machine can be understood as 0.2, 0.3 and 0.5 or 0.4, 0.3 and 0.3, and the weight of the multiple virtual machines for the same first historical time period is the same.Further, after the weights of the plurality of virtual machines in each first historical time period and the performance loss results of the plurality of virtual machines in each first historical time period are determined, the performance loss results of the plurality of virtual machines in each first historical time period are weighted and normalized by using the weights of each first historical time period, so as to determine the performance loss results of the plurality of virtual machines. It should be noted that the weights corresponding to each first historical time period can also be set according to actual needs, which can be used to specifically improve the emphasis of a first historical time period. The memory overprovisioning processing method provided in the embodiments of the present specification can comprehensively analyze the performance loss results of the three first historical time periods from multiple time dimensions, and can consider the time dimension with emphasis, thereby improving the accuracy of the performance loss analysis of the plurality of virtual machines. Further, the normalized results are compared, the normalization degree of the performance loss results is improved, and the accuracy of the subsequently obtained memory overprovisioning index is improved. In actual application, when the first historical time period is three, the page fault state data can further include the page fault number and the page fault cost, so as to comprehensively consider the three historical time periods and the two kinds of page fault state data, so that the analysis of the performance loss result is more comprehensive and more accurate. The specific implementation manner is as follows: the page fault state data includes the page fault number and the page fault cost; the performance loss result of the plurality of virtual machines is determined according to the page fault state data, and the method includes: determining the page fault number and the page fault cost of the plurality of virtual machines in the first historical time period according to the page fault state data; determining a first performance loss result of the page fault number of the plurality of virtual machines for the first historical time period and a second performance loss result of the page fault cost of the plurality of virtual machines for the first historical time period; performing weighted sum processing and normalization processing on the first performance loss result of the page fault number of the plurality of virtual machines for the first historical time period and the second performance loss result of the page fault cost of the plurality of virtual machines for the first historical time period by using the weight of the first performance loss result and the weight of the second performance loss result, so as to determine the performance loss result of the plurality of virtual machines.Specifically, in order to facilitate the distinction, the three first historical time periods are marked as burst (i.e. the first historical time period corresponding to burst page faults), short (i.e. the first historical time period corresponding to short-term page faults), and long (i.e. the first historical time period corresponding to long-term page faults), wherein the burst duration is less than the short duration, and the short duration is less than the long. The second historical time period has the same length as the future time period. Specifically, a cold page can be understood as a memory page that has not been used by a virtual machine for a period of time, for example, a memory page that has not been used for 7 days, a memory page that has not been used for 8 days, etc., cold page data can be understood as data related to the cold page, including but not limited to the amount of cold page, the type of cold page, the memory occupied by the cold page, etc., the second historical time period can be understood as one or more historical time periods that have the same length as the scheduling period, and the future time period can be understood as the current scheduling period (i.e., the current scheduling period described above). In actual application, the historical cold page data can be used to predict the future cold page data by using a time series prediction method; for example, the prediction of the cold page data of the plurality of virtual machines in the future time period can be realized by using a time series prediction model, so as to improve the prediction efficiency and accuracy, and the specific implementation manner is as follows: the method comprises the following steps: determining the predicted cold page data of the plurality of virtual machines in the future time period according to the historical cold page data of the plurality of virtual machines in the second historical time period, comprising: determining the predicted cold page data of the plurality of virtual machines in the future time period according to the historical cold page data of the plurality of virtual machines in the second historical time period by using a time series prediction model, wherein the time series prediction model is a machine learning model. Wherein, the time series prediction model can be understood as a model used to predict data in a future period of time based on historical data, for example, a machine learning model used for time series prediction such as a Holt-Winters model, an autoregressive model (AR), etc. Specifically, the predicted cold page data of the plurality of virtual machines in the future time period can be determined by using a time series prediction model according to the historical cold page data of the plurality of virtual machines in the second historical time period, which can be understood as inputting the historical cold page data of the plurality of virtual machines in the second historical time period into the time series prediction model respectively, and obtaining the predicted cold page data of the plurality of virtual machines in the future time period output by the time series prediction model respectively. It should be noted that the time series prediction model can be pre-trained by a third party, or can be obtained by training the host / virtual machine according to the historical cold page data of the plurality of virtual machines in a plurality of historical time periods, and the training process of the time series prediction model is not described herein.For example, in the case that the cold page data is understood as the cold page quantity, the cold page data of a virtual machine from 10:00:00 on January 1, 2024 to 10:30:00 on January 1, 2024 is 30 cold pages, and according to the cold page data of the virtual machine in the second historical time period, it can be predicted that the cold page data of the virtual machine from 10:00:00 on January 1, 2024 to 10:30:00 on January 1, 2024 is 60 cold pages. The memory overcommit processing method provided in the embodiments of the present specification can predict the predicted cold page data in the future time period according to the historical cold page data of the plurality of virtual machines in the second historical time period, so that the host machine can refer to the memory overcommit quantity that can be borne by the plurality of virtual machines in the future time period (i.e., the virtual machine can bear the memory overcommit quantity equal to or lower than the cold page data thereof) for subsequent memory overcommit processing, thereby avoiding the increase of the page fault of the plurality of virtual machines due to the excessive memory overcommit, and reducing the probability of the performance reduction of the host machine. Step 208: determining the memory overcommit index of the plurality of virtual machines in the future time period according to the performance loss result and the predicted cold page data. The memory overcommit index can be understood as the index of the memory overcommit quantity, for example, the memory overcommit index can be understood as the memory overcommit quantity that can be borne by a virtual machine, i.e., the quota described above. Specifically, the performance loss result represents the memory overcommit quantity that needs to be borne by the plurality of virtual machines, the predicted cold page data represents the memory overcommit quantity limit that can be borne by the plurality of virtual machines, and based on the performance loss result and the predicted cold page data, the memory overcommit index of the plurality of virtual machines in the future time period allocated by the host machine can be determined. In actual application, the specific implementation manner of determining the memory overcommit index of the plurality of virtual machines in the future time period according to the performance loss result and the predicted cold page data is as follows. The memory overcommit index of the plurality of virtual machines in the future time period is determined according to the performance loss result and the predicted cold page data, including: determining the memory overcommit proportion of the plurality of virtual machines according to the performance loss result; determining the initial memory overcommit index of the plurality of virtual machines according to the memory overcommit proportion and the memory overcommit quantity of the host machine; and determining the memory overcommit index of the plurality of virtual machines in the future time period according to the initial memory overcommit index of the plurality of virtual machines and the predicted cold page data.The memory over-provisioning ratio can be understood as the proportion of the memory over-provisioning amount to be borne. The sum of the memory over-provisioning ratios of the plurality of virtual machines is 1. According to the performance loss result, the memory over-provisioning ratios of the plurality of virtual machines are determined. The determination can be understood as determining the memory over-provisioning ratios of the plurality of virtual machines according to the numerical proportion between the performance loss results of the plurality of virtual machines. The specific implementation is as follows: The determination of the memory over-provisioning ratios of the plurality of virtual machines according to the performance loss result includes: adding the performance loss results of the plurality of virtual machines to obtain a performance loss result sum; and determining the memory over-provisioning ratios of the virtual machines in the plurality of virtual machines according to the proportion of the performance loss result of each virtual machine relative to the performance loss result sum. The performance loss result sum can be understood as the sum of the performance loss results of the plurality of virtual machines. For example, the plurality of virtual machines include virtual machine 1, virtual machine 2, and virtual machine 3. The performance loss result of virtual machine 1 is 0.1, the performance loss result of virtual machine 2 is 0.2, and the performance loss result of virtual machine 3 is 0.2. The memory over-provisioning ratio of virtual machine 1 is 0.1 / (0.1+0.2+0.2), that is, 20%. The memory over-provisioning ratio of virtual machine 2 is 0.2 / (0.1+0.2+0.2), that is, 40%. The memory over-provisioning ratio of virtual machine 3 is 0.2 / (0.1+0.2+0.2), that is, 40%. The memory over-provisioning processing method provided in the specification embodiment determines the memory over-provisioning ratios of the virtual machines according to the proportion of the performance loss result of each virtual machine in the performance loss result sum of the virtual machines, that is, the more damaged, the higher the memory over-provisioning ratio of the virtual machine to be borne. The memory over-provisioning ratio can consider the memory over-provisioning amount required by each virtual machine, thereby improving the accuracy of the memory over-provisioning ratio. Further, the initial memory indicator can be understood as the memory over-provisioning amount to be borne by each virtual machine in the plurality of virtual machines. Based on this, the initial memory indicators of the plurality of virtual machines can be determined according to the memory over-provisioning ratios of the plurality of virtual machines and the memory over-provisioning amount of the host machine. In the above example, for example, the memory over-provisioning amount of the host machine is 100 quota. According to the memory over-provisioning ratios of the above three virtual machines, the initial memory indicator of virtual machine 1 is 100*20%, that is, 20 quota. The initial memory indicator of virtual machine 2 is 100*40%, that is, 40 quota. The initial memory indicator of virtual machine 3 is 100*40%, that is, 40 quota. oIn the case of determining the initial memory overcommitment indicators of the plurality of virtual machines and the predicted cold page data, the memory overcommitment indicators of the plurality of virtual machines are determined according to the initial memory indicators of the plurality of virtual machines and the predicted cold page data, i.e., the memory indicators that the plurality of virtual machines needs to undertake and the memory indicators that the plurality of virtual machines can undertake, according to which the memory overcommitment indicators of the plurality of virtual machines are determined. The memory overcommitment processing method provided by the embodiments of the present specification determines the memory overcommitment indicators of the plurality of virtual machines by the damage sensing of the plurality of virtual machines (i.e., using the initial memory indicators determined according to the performance loss results) and the load prediction (i.e., using the predicted cold page data obtained by the prediction), comprehensively considers the memory overcommitment indicators that the plurality of virtual machines needs to undertake and the memory overcommitment indicators that the plurality of virtual machines can undertake, so that the determination of the memory overcommitment indicators is more reasonable and accurate, thereby reducing the probability of memory failure (i.e., the probability of page fault interruption of the virtual machine) and greatly improving the running stability of the host machine. In actual application, the memory overcommitment indicators of the plurality of virtual machines are determined according to the initial memory indicators of the plurality of virtual machines and the predicted cold page data, and the specific implementation manner can be as follows. The memory overcommitment indicators of the plurality of virtual machines in the future time period are determined according to the initial memory overcommitment indicators of the plurality of virtual machines and the predicted cold page data, which includes: a target virtual machine is determined from the plurality of virtual machines in sequence; in the case that the initial memory overcommitment indicator of the target virtual machine is greater than or equal to the predicted cold page data of the target virtual machine, the memory indicators contained in the predicted cold page data are determined as the memory overcommitment indicators of the target virtual machine in the future time period; or in the case that the initial memory overcommitment indicator of the target virtual machine is less than the predicted cold page data of the target virtual machine, the initial memory overcommitment indicator is determined as the memory overcommitment indicator of the target virtual machine in the future time period; the memory overcommitment indicators of the plurality of virtual machines in the future time period are determined according to the memory overcommitment indicators of the target virtual machine in the future time period. Specifically, in the case of determining the initial memory overcommitment indicators of the plurality of virtual machines and the predicted cold page data, the smaller value in the initial memory indicators of each virtual machine and the predicted cold page data can be determined as the memory overcommitment indicator of each virtual machine.With the above example, for example, the predicted cold page data of virtual machine 1 is 100 cold page amount, the predicted cold page data of virtual machine 2 is 20 cold page amount, and the predicted cold page data of virtual machine 3 is 60 cold page amount, in combination with the initial memory indicators of virtual machines 1, 2 and 3, it can be determined that the memory over-provisioning indicator of virtual machine 1 is min (100, 20), that is, 20, the memory over-provisioning indicator of virtual machine 2 is min (20, 40), that is, 20, and the memory over-provisioning indicator of virtual machine 3 is min (60, 40), that is, 40. The memory over-provisioning processing method provided by the embodiments of the present specification determines the smaller value in the initial memory indicators of the plurality of virtual machines and the predicted cold page data as the memory over-provisioning indicator of the plurality of virtual machines, so as to ensure that the memory over-provisioning amount does not exceed the memory over-provisioning amount that can be borne by the virtual machine. Since the memory over-provisioning processing of the plurality of virtual machines can be implemented through the cold page data of the plurality of virtual machines, without processing the memory pages with higher usage frequency of the plurality of virtual machines, the situation of increasing page faults caused by the virtual machine bearing a higher memory over-provisioning amount is avoided, thereby further improving the running stability of the plurality of virtual machines and reducing the influence of page faults on the performance of the host machine. In actual application, the unallocated memory over-provisioning amount in the above allocation process can be allocated again, and the specific implementation manner is as follows. After determining the memory over-provisioning indicators of the plurality of virtual machines in the future time period, the method comprises: determining a total memory over-provisioning indicator according to the memory over-provisioning indicators of the plurality of virtual machines in the future time period; in the case that the total memory over-provisioning indicator is less than the memory over-provisioning amount of the host machine, determining a to-be-supplemented virtual machine from the plurality of virtual machines according to the memory over-provisioning indicators and predicted cold page data of the plurality of virtual machines in the future time period; determining an over-provisioning difference value between the total memory over-provisioning indicator and the memory over-provisioning amount of the host machine; determining a supplemented memory over-provisioning ratio of the to-be-supplemented virtual machine according to the performance loss result of the to-be-supplemented virtual machine; and determining a supplemented memory over-provisioning indicator of the to-be-supplemented virtual machine according to the over-provisioning difference value and the supplemented memory over-provisioning ratio.wherein the total memory overcommit indicator can be understood as a sum of memory overcommit indicators of the plurality of virtual machines in the future time period, and the allocated memory overcommit amount in the memory overcommit amount of the host machine can be determined according to the total memory overcommit indicator; the to-be-supplemented virtual machine can be understood as a virtual machine to which a memory overcommit amount is to be allocated; the overcommit difference value between the total memory overcommit indicator and the memory overcommit amount of the host machine can be understood as a page quantity difference between a quantity of pages included in the total memory overcommit indicator and a quantity of pages included in the memory overcommit amount of the host machine; the memory overcommit supplement ratio can be understood as a ratio of a quantity of pages of the memory overcommit amount to be allocated to the to-be-supplemented virtual machine to the overcommit difference value, and according to the ratio and the overcommit difference value, a quantity of pages of the memory overcommit amount to be allocated to the to-be-supplemented virtual machine, i.e., the memory overcommit supplement indicator, can be determined. Continuing with the above example, the memory overcommit amount of the host machine is 100, and the memory overcommit indicators of the three virtual machines in the future time period are 20, 20, and 40 respectively, and the total memory overcommit indicator is 20+20+40, i.e., 80, and the total memory overcommit indicator is less than the memory overcommit amount of the host machine, and accordingly the overcommit difference value between the total memory overcommit indicator and the memory overcommit amount of the host machine is 20. According to the memory overcommit indicators of the plurality of virtual machines in the future time period and the predicted cold page data, the to-be-supplemented virtual machine can be determined from the plurality of virtual machines, which can be understood as determining, according to the memory overcommit indicators of the plurality of virtual machines in the future time period and the predicted cold page data, a virtual machine in the plurality of virtual machines whose memory overcommit indicator in the future time period is less than the predicted cold page data, and determining the virtual machine as the to-be-supplemented virtual machine. Alternatively, according to the memory overcommit indicators of the plurality of virtual machines in the future time period and the predicted cold page data, the to-be-supplemented virtual machine can be determined from the plurality of virtual machines, which can be understood as determining, according to the memory overcommit indicators of the plurality of virtual machines in the future time period and the predicted cold page data, a virtual machine in the plurality of virtual machines whose memory overcommit indicator in the future time period is less than a preset memory overcommit indicator reference value and / or whose predicted cold page data is less than a preset predicted cold page data reference value, and determining the virtual machine as the to-be-supplemented virtual machine. Taking the example of determining, from the plurality of virtual machines, a virtual machine whose memory overcommit indicator in the future time period is less than the predicted cold page data and determining the virtual machine as the to-be-supplemented virtual machine, and continuing with the above example, the memory overcommit indicator of virtual machine 1 is 20, and the predicted cold page data is 100 cold pages, and the memory overcommit indicator of virtual machine 1 is less than the predicted cold page data of virtual machine 1, and virtual machine 1 is determined as the to-be-supplemented virtual machine, and virtual machine 3 can be determined as the to-be-supplemented virtual machine in the same manner.After determining the to-be-supplemented virtual machines, the proportion of the memory overcommitment that each to-be-supplemented virtual machine needs to supplement is determined according to the performance loss result of each to-be-supplemented virtual machine. In the above example, the performance loss data of virtual machine 1 is 0.1, and the performance loss data of virtual machine 3 is 0.2. Therefore, the proportion of the memory overcommitment that virtual machine 1 needs to supplement (i.e., the supplement memory overcommitment proportion) is 0.1 / (0.1+0.2), i.e., 0.33, and the proportion of the memory overcommitment that virtual machine 2 needs to supplement (i.e., the supplement memory overcommitment proportion) is 0.2 / (0.1+0.2), i.e., 0.67. Further, the supplement memory overcommitment index of the to-be-supplemented virtual machine is determined according to the overcommitment difference value and the supplement memory overcommitment proportion. In the above example, the supplement overcommitment proportion of virtual machine 1 is 0.33, and the supplement memory overcommitment index of virtual machine 1 can be obtained according to the product of the overcommitment difference value and the supplement overcommitment proportion, i.e., 20*0.33, which is 6.6. The supplement overcommitment proportion of virtual machine 2 is 0.67, and the supplement memory overcommitment index of virtual machine 1 can be obtained according to the product of the overcommitment difference value and the supplement overcommitment proportion, i.e., 20*0.67, which is 13.4. The memory overcommitment processing method provided in the embodiments of the present specification can ensure that all of the memory overcommitment of the host machine can be borne by the virtual machines after the memory overcommitment indexes of the plurality of virtual machines in the future time period are determined, and the stability of the memory water level of the host machine is ensured, and the running stability of the host machine is improved. In actual application, the specific implementation manner of determining the memory overcommitment of the host machine can be as follows. Before the initial memory overcommitment indexes of the plurality of virtual machines are determined according to the memory overcommitment proportion and the memory overcommitment of the host machine, the following steps are further included: determining a memory amount control parameter, determining the predicted memory amount of the host machine in the future time period according to the memory amount control parameter; determining the current used memory amount and the current idle memory amount of the plurality of virtual machines, and determining the memory overcommitment of the host machine according to the predicted memory amount, the current used memory amount, and the current idle memory amount. The memory amount control parameter can be understood as a configuration parameter input by a user, i.e., a configuration parameter of the total virtual memory water level of the host machine in the future time period configured by the user. According to the configuration parameter, the number of pages of the memory pages in the virtual memory of the host machine in the future time period, i.e., the predicted memory amount of the host machine in the future time period, can be determined.The current used memory amount of the plurality of virtual machines can be understood as the number of pages of the virtual memory currently used by the plurality of virtual machines, and the current idle memory amount can be understood as the number of pages of the virtual memory currently not used by any virtual machine. In a specific implementation, after the predicted memory amount of the host in the future time period, the current used memory amount of the plurality of virtual machines, and the current idle memory amount are determined, the predicted memory amount of the host in the future time period is subtracted from the current used memory amount of the plurality of virtual machines and the current idle memory amount, to obtain the memory amount that needs to be oversubscribed by the host, that is, the memory oversubscription amount of the host. For example, the predicted memory amount of the host in the future time period is 1000, the current used memory amount of the plurality of virtual machines is 600, and the current idle memory amount is 300. According to 1000-600-300, it can be determined that the memory oversubscription amount of the host is 1000. The memory oversubscription processing method provided in the embodiments of the present specification can perform secondary memory oversubscription on the unallocated memory oversubscription amount in the memory oversubscription amount of the host after the memory oversubscription indicators of the plurality of virtual machines in the future time period are determined, so that all of the memory oversubscription amount of the host can be borne by the virtual machines, ensuring the stability of the memory water level of the host and improving the running stability of the host. In actual application, after the memory oversubscription indicators are determined, page replacement can be performed on the plurality of virtual machines to realize dynamic memory oversubscription. The specific implementation manner is as follows. After the memory oversubscription indicators of the plurality of virtual machines in the future time period are determined according to the performance loss result and the predicted cold page data, the method further includes: determining target memory pages of the plurality of virtual machines according to the memory oversubscription indicators; and replacing the target memory pages to a page swap space, where the page swap space is a storage space different from the memory. The target memory pages can be understood as cold pages in the plurality of virtual machines, and the page swap space includes but is not limited to a hard disk (HDD), a solid state disk (SSD), a memory card, and the like. Specifically, according to the memory oversubscription indicators of each virtual machine, cold pages that need to be replaced by each virtual machine, that is, target memory pages, can be determined, and the cold pages that need to be replaced by each virtual machine are replaced, that is, the target memory pages are replaced to the page swap space. The page swap space can be selected according to actual needs, which is not limited in the present specification.The memory overcommitment processing method provided by the embodiments of the present specification determines a target memory page in the plurality of virtual machines according to the determined memory overcommitment index, and swaps the target memory page to a storage space different from the memory, thereby realizing memory overcommitment of the host computer. Even if the virtual memory of each virtual machine is expanded, since the target memory page is a cold page of each virtual machine, the influence of memory overcommitment on the running of the virtual machine is also reduced while realizing memory overcommitment. In actual application, an algorithm pool can also be configured, and a plurality of performance loss algorithms and a plurality of cold page prediction algorithms are pre-stored, so as to realize optimization of memory overcommitment processing. The specific implementation manner is as follows. After the page fault state data of the plurality of virtual machines in the first historical time period is determined, a target performance loss algorithm and a target cold page prediction algorithm are determined from the algorithm pool, wherein the algorithm pool includes at least two performance loss algorithms and at least two cold page prediction algorithms; the performance loss result of the plurality of virtual machines is determined according to the page fault state data, including: determining the performance loss result of the plurality of virtual machines by using the target performance loss algorithm according to the page fault state data; the predicted cold page data of the plurality of virtual machines in the future time period is determined according to the historical cold page data of the plurality of virtual machines in the second historical time period, including: determining the predicted cold page data of the plurality of virtual machines in the future time period by using the target cold page prediction algorithm according to the historical cold page data of the plurality of virtual machines in the second historical time period. Wherein, the algorithm pool contains a plurality of selectable performance loss algorithms and cold page prediction algorithms, and each algorithm in the algorithm pool is pluggable, realizing algorithm replacement. For example, one performance loss algorithm can be understood as the specific implementation of determining the performance loss result of the plurality of virtual machines according to the page fault state data, or can also be understood as determining a damaged value according to the number of page faults of the virtual machine in the 5 seconds before the current scheduling moment and the scheduling period, or other performance loss algorithms, etc. One cold page prediction algorithm can be understood as the specific implementation of determining the predicted cold page data of the plurality of virtual machines, or can also be understood as determining the predicted cold page data of the current scheduling period by using the average value of the cold page amount of the plurality of virtual machines in the five scheduling periods before the current scheduling period, i.e., the predicted cold page data of the plurality of virtual machines in the future time period. Or other cold page prediction algorithms, etc.The memory overcommitment processing method provided by the embodiments of the present specification improves the scalability of memory overcommitment processing by designing a pluggable algorithm pool, and improves the adaptability, flexibility and recovery capability of algorithm failure of memory overcommitment processing by dynamically selecting a performance loss algorithm and a cold page prediction algorithm from the algorithm pool in each scheduling period. Moreover, new algorithms can be added to the algorithm pool in the future, so that the use of new algorithms is more convenient, and the subsequent optimization of memory overcommitment processing is facilitated. In actual application, one performance loss algorithm and one cold page prediction algorithm can be selected from the algorithm pool as an algorithm combination, and the above-mentioned memory overcommitment processing method is realized by using the algorithm combination. The specific implementation manner is as follows. The target performance loss algorithm and the target cold page prediction algorithm are determined from the algorithm pool, including: a plurality of algorithm combinations are determined from the algorithm pool, wherein any one of the plurality of algorithm combinations includes one performance loss algorithm and one cold page prediction algorithm; the plurality of algorithm combinations are determined as initial algorithm combinations; according to the determined simulation virtual machine simulation page state data and the simulation history cold page data of the plurality of simulation virtual machines in a second simulation history time period, data processing is performed by using the initial algorithm combinations to obtain initial memory overcommitment indicators of the plurality of simulation virtual machines in a simulation future time period corresponding to the initial algorithm combinations; according to each initial memory overcommitment indicator, a target memory overcommitment indicator is determined, and according to a target algorithm combination corresponding to the target memory overcommitment indicator, the target performance loss algorithm and the target cold page prediction algorithm are determined. Wherein, the algorithm combination can be understood as an algorithm combination composed of one performance loss algorithm and one cold page prediction algorithm. The simulation virtual machine can be understood as a simulated virtual machine, the simulation page state data can be understood as the page state data of the simulated virtual machine, the second simulation history time period can be understood as a second history time period set in simulation, and the simulation history cold page data can be understood as the simulation history cold page data obtained by simulating the history cold page data of the simulated virtual machine. Specifically, the specific implementation manner of determining the initial memory overcommitment indicators of the plurality of simulation virtual machines in the simulation future time period can be referred to the above-mentioned embodiments of the present specification, and will not be described here.Further, after determining the initial memory overcommitment indicators corresponding to the respective initial algorithm combinations, a target memory overcommitment indicator is determined from the initial memory overcommitment indicators, the comprehensive damage corresponding to the target memory overcommitment indicator is less than the comprehensive damage corresponding to other initial memory overcommitment indicators, and the comprehensive damage can be understood as a comprehensive score of the performance loss results of the multiple simulation virtual machines and the page fault state data; after the target memory overcommitment indicator is determined, the performance loss algorithm and the cold page prediction algorithm included in the target algorithm combination corresponding to the target memory overcommitment indicator can be determined, that is, the target performance loss algorithm and the target cold page prediction algorithm. The memory overcommitment processing method provided by the embodiments of the present specification determines the target algorithm combination by performing simulation tests on each algorithm combination including one performance loss algorithm and one cold page prediction algorithm in the algorithm pool, so as to select the algorithm combination with a lower comprehensive damage in each scheduling period, and to realize the rapid iteration of the memory overcommitment processing system. In actual application, the selection of the target performance loss algorithm and the target cold page prediction algorithm can be realized by taking the damage values corresponding to the respective initial memory overcommitment indicators as reference factors, and the specific implementation manner is as follows: the target memory overcommitment indicator is determined according to the respective initial memory overcommitment indicators, and the target performance loss algorithm and the target cold page prediction algorithm are determined according to the target algorithm combination corresponding to the target memory overcommitment indicator, and the method comprises the following steps: the damage values corresponding to the respective initial memory overcommitment indicators are determined according to the respective initial memory overcommitment indicators; the target memory overcommitment indicator is determined from the respective initial memory overcommitment indicators according to the damage values corresponding to the respective initial memory overcommitment indicators, wherein the damage value of the target memory overcommitment indicator is less than or equal to any one of the damage values of the respective initial memory overcommitment indicators; the initial algorithm combination corresponding to the target memory overcommitment indicator is determined as the target algorithm combination corresponding to the target memory overcommitment indicator according to the target memory overcommitment indicator; the performance loss algorithm included in the target algorithm combination is determined as the target performance loss algorithm, and the cold page prediction algorithm included in the target algorithm combination is determined as the target cold page prediction algorithm. The damage value can be understood as the performance loss result of the simulation virtual machine, and in the case that the simulation virtual machine is multiple, the damage value can be understood as the total performance loss result obtained by adding the performance loss results of the multiple simulation virtual machines; the performance loss result can be understood as the above performance loss result; the simulation virtual machine can be understood as a simulated virtual machine used for simulation test.In actual applications, simulation tests can be performed by using the initial memory indicators to determine the damaged values corresponding to the initial memory indicators. The specific implementation manners are described as follows: determining the damaged values corresponding to the initial memory indicators according to the initial memory indicators includes: determining the initial memory indicators as target simulation memory indicators; performing memory overcommitment simulation on a plurality of simulation virtual machines by using the target simulation memory indicators to obtain initial damaged values of the plurality of simulation virtual machines; determining a sum of the initial damaged values of the simulation virtual machines as the damaged value corresponding to the target simulation memory indicators; and determining the damaged values corresponding to the initial memory indicators according to the damaged value corresponding to the target simulation memory indicators. The initial damaged values of the plurality of simulation virtual machines can be understood as performance loss results of the virtual machines in the plurality of simulation virtual machines. The memory overcommitment simulation on the plurality of simulation virtual machines by using the target simulation memory indicators can be understood as determining memory overcommitment amounts of the simulation virtual machines by using the memory overcommitment method provided in the above description, and performing simulation memory overcommitment on the simulation virtual machines according to the memory overcommitment amounts of the simulation virtual machines. Then, the performance loss results corresponding to the simulation virtual machines at the time when the simulation memory overcommitment is completed are obtained by using the specific implementation of determining the performance loss results of the target virtual machine provided in the above description, and the performance loss results of the simulation virtual machines are determined as the initial damaged values of the simulation virtual machines. Further, the initial damaged values of the simulation virtual machines are added, the sum of the initial damaged values of the simulation virtual machines is determined, and the sum of the initial damaged values is determined as the damaged value corresponding to the target simulation memory indicators, so that the damaged values corresponding to the initial memory indicators can be determined. The memory overcommitment processing method provided in the above description determines the memory overcommitment simulation results, that is, the damaged values of the plurality of simulation virtual machines, by performing memory overcommitment simulation on the plurality of simulation virtual machines by using the initial memory indicators, so that the effects of the memory overcommitment corresponding to the initial memory indicators can be analyzed, resource consumption of actual memory overcommitment tests is reduced, and iteration and updating efficiency of the memory overcommitment processing system is improved. Further, after the damaged values corresponding to the initial simulation memory indicators are determined, the target memory indicator can be determined according to the smaller value in the damaged values corresponding to the initial simulation memory indicators, that is, the damaged value of the target memory indicator is smaller than or equal to any one of the damaged values of the initial memory indicators.Based on this, after obtaining the target memory oversubscription indicator, the performance loss algorithm included in the initial algorithm combination corresponding to the target memory oversubscription indicator can be determined as the target performance loss algorithm, and the cold page prediction algorithm included in the initial algorithm combination corresponding to the target memory oversubscription indicator can be determined as the target cold page prediction algorithm, and subsequently, the target performance loss algorithm and the target cold page prediction algorithm can be used to implement memory oversubscription for multiple virtual machines. The memory oversubscription processing method provided in the embodiments of the present specification optimizes the iteration selection of the fast iteration of the memory oversubscription processing system by determining the algorithm combination with a lower comprehensive damage value in each scheduling period. In actual application, the specific implementation manner of the initial memory oversubscription indicator is as follows according to the determined simulation page fault state data of the multiple simulation virtual machines and the simulation historical cold page data of the multiple simulation virtual machines in the second simulation historical time period. The initial algorithm combination is used to perform data processing according to the determined simulation page fault state data of the multiple simulation virtual machines and the simulation historical cold page data of the multiple simulation virtual machines in the second simulation historical time period, to obtain the initial memory oversubscription indicator of the multiple simulation virtual machines in the simulation future time period corresponding to the initial algorithm combination, including: determining the simulation initial performance loss result of the multiple simulation virtual machines by using the performance loss algorithm included in the initial algorithm combination according to the determined simulation page fault state data of the multiple simulation virtual machines; determining the simulation initial predicted cold page data of the multiple simulation virtual machines in the simulation future time period by using the simulation cold page prediction algorithm included in the initial algorithm combination according to the simulation historical cold page data of the multiple simulation virtual machines in the second simulation historical time period; and determining the initial memory oversubscription indicator of the multiple simulation virtual machines in the simulation future time period corresponding to the initial algorithm combination according to the simulation initial performance loss result and the simulation initial predicted cold page data. Specifically, the specific implementation manner of the embodiments of the present specification can be referred to the above embodiments, and will not be repeated here. The memory oversubscription processing method provided in the embodiments of the present specification improves the accuracy of simulation testing by performing simulation testing on each algorithm combination including one performance loss algorithm and one cold page prediction algorithm in the algorithm pool, specifically, determining the simulation initial performance loss result and the simulation initial predicted cold page data by using the performance loss algorithm and the cold page prediction algorithm respectively, so that the target algorithm combination determined subsequently is more accurate.One embodiment of the present specification provides a memory overcommitment processing method. The method determines the page fault state data of a plurality of virtual machines in a first historical time period, determines the performance loss result of the plurality of virtual machines, determines the host performance loss (e.g., memory performance, input / output performance, etc.) caused by the page fault of the plurality of virtual machines, further determines the predicted cold page data of the plurality of virtual machines in a future time period by using the historical cold page data of the plurality of virtual machines in a second historical time period, and obtains the upper limit of the memory overcommitment that can be borne by the plurality of virtual machines. Thus, the memory overcommitment index of the plurality of virtual machines in the future time period is determined according to the performance loss result of the plurality of virtual machines and the predicted cold page data of the plurality of virtual machines in the future time period. In consideration of the bearing capacity of the plurality of virtual machines, the available virtual memory is increased, the page replacement pressure and address translation pressure in the running process of each virtual machine are reduced, the probability of reducing the host memory performance and input / output performance is reduced, and the running stability of the host is further improved. The above is a schematic scheme of the memory overcommitment processing method of the embodiment. It should be noted that the technical scheme of the memory overcommitment processing method is the same as the technical scheme of the memory overcommitment processing method described above. The details of the technical scheme of the memory overcommitment processing method are described in detail in the description of the technical scheme of the memory overcommitment processing method. The memory overcommitment processing method is further described below in combination with FIG. 3. FIG. 3 shows a processing process flowchart of a memory overcommitment processing method according to one embodiment of the present specification, which is applied to a host that runs a plurality of virtual machines, and specifically includes the following steps. Step 302: obtaining data. The data can be understood as obtaining the state information of each virtual machine operating system (guest). Specifically, the host operating system (host) is deployed with a host kernel component (e.g., a memory control component, an i control component, etc.). The host kernel component provides real-time virtual machine state information through an interaction interface with a memory management system. In each scheduling period, the memory management system (i.e., the above-mentioned memory overcommitment processing system) collects the state information of the virtual machine from the data input layer through the interaction interface between the host kernel component and the memory management system. Step 304: calculating the water level.Specifically, the memory management system determines the water level that the host needs to reach, i.e., the total amount of virtual memory that needs to be reached, through the water level control parameter, and predicts the amount of memory over-provisioning that the host needs to increase in the current scheduling period according to the current use of virtual memory of the host, for example, the host needs to increase the memory over-provisioning by 100qo Step 306: impairment awareness. Before performing virtual machine impairment awareness, the impairment evaluation algorithm (i.e., the target performance loss algorithm described above) and the load prediction algorithm (i.e., the target cold page prediction algorithm described above) can be determined from the algorithm pool, and the impairment evaluation algorithm is used to perform virtual machine impairment awareness, and the load prediction algorithm is used to perform load prediction; the impairment evaluation algorithm and the load prediction algorithm can be determined by configuration parameters, which contain selection parameters of the impairment evaluation algorithm and selection parameters of the complex prediction algorithm; the configuration parameters can be input and determined by the user (i.e., the developer or user of the memory management system of the host), or can be determined according to the simulation results of the simulation test system. Further, the selection parameters of the impairment evaluation algorithm and the selection parameters of the complex prediction algorithm can be obtained through the simulation test system, specifically, randomly combining the impairment evaluation algorithm and the load prediction algorithm to obtain multiple algorithm combinations, and simulating and testing the multiple algorithm combinations to determine the algorithm combination with the lowest comprehensive impairment as the target algorithm combination, and according to the impairment evaluation algorithm and the load prediction algorithm contained in the target algorithm combination, the selection parameters of the impairment evaluation algorithm and the selection parameters of the complex prediction algorithm in the above configuration parameters are obtained. A specific implementation of an impairment evaluation algorithm is to obtain the number of page faults (pf) and the CPU time overhead (psi) caused by page faults in three time dimensions (i.e., the above three first historical time periods) of the burst time period (i.e., the first historical time period corresponding to the burst page fault) / short-term time period (i.e., the first historical time period corresponding to the short-term page fault) / long-term time period (i.e., the first historical time period corresponding to the long-term page fault) according to the virtual machine state information collected above, to measure the performance impairment (including but not limited to memory performance, I / O performance, etc.) of the virtual machine, to obtain the following data:

[0002] (1) burst page fault (burst pf, burst psi) ;

[0003] (2) short-term page fault (short term pf, short term psi) ;

[0004] (3) long term pf, long term psi; wherein, burst pf can be understood as the number of page faults caused by burst page faults; burst psi can be understood as the CPU time cost caused by burst page faults; short_term pf can be understood as the number of page faults caused by short-term page faults; short_term psi can be understood as the CPU time cost caused by short-term page faults; long_term pf can be understood as the number of page faults caused by long-term page faults; long_term psi can be understood as the CPU time cost caused by long-term page faults. According to burst pf > burst psi > short_term pf > short_term psi, long_term pf > long_term psi, the damaged score is calculated by using the following virtual machine damaged state evaluation formula. wherein, t can be understood as the current scheduling time, Impair (t) can be understood as the damaged score determined by the target virtual machine for the current scheduling time: Pfbm-sdt) can be understood as the burst page fault quantity of the target virtual machine for the current scheduling time, Pfbm-sdt) can be understood as the short-term page fault quantity of the target virtual machine for the current scheduling time, Pfbm-sdt) can be understood as the long-term page fault quantity of the target virtual machine for the current scheduling time. The Holt-Winters model is used to predict the cold page quantity of each virtual machine in the future time period, wherein the cold page quantity of each virtual machine in the historical time period can be determined by determining the number of memory pages that exist in the historical time period and have not been visited for more than a preset cold page time, and the length of the future time period can be consistent with the length of the scheduling period. Step 306: quota allocation. Wherein, quota allocation can be understood as calculating the quota that each virtual machine needs to bear according to the damaged score of each virtual machine obtained in step 306 and the predicted cold page quantity of each virtual machine obtained in step 308, and the specific calculation steps are as follows:

[0005] (1) According to the damaged score of each virtual machine, the quota proportion that each virtual machine needs to bear is calculated, and according to the quota proportion and the quota amount that needs to be increased for maintaining the water level of the host computer, the quota amount that each virtual machine needs to bear is determined.

[0006] (2) judging whether the quota amount that each virtual machine needs to bear calculated is greater than the predicted cold page amount of the virtual machine in sequence, in the case where the quota amount that the virtual machine needs to bear is not greater than the predicted cold page amount of the virtual machine, determining the quota amount that the virtual machine needs to bear determined according to the virtual machine damage score as the quota amount that the virtual machine needs to bear, in the case where the quota amount that the virtual machine needs to bear is greater than the predicted cold page amount of the virtual machine, determining the number of the predicted cold page amount as the quota amount that the virtual machine needs to bear;

[0007] (3) According to the quota borne by the plurality of virtual machines, determine the remaining quota, that is, the unallocated quota, and distribute the remaining quota to the virtual machines with the cold page surplus according to the virtual machine damage score and the supplementary distribution ratio calculated again. Step 312: Assemble the instruction. The instruction can be understood as generating a control instruction according to the quota borne by each virtual machine, and implementing memory overcommitment control using the control instruction. Specifically, according to the quota borne by each virtual machine calculated in step 310, generate a quota memory overcommitment control instruction, and send the quota memory overcommitment control instruction to the instruction output layer, so that the memory management system sets the page replacement target for each virtual machine, specifically, replaces the number of cold pages corresponding to the quota to the disk. The memory overcommitment processing method provided by the embodiment of the present specification can determine the host performance loss caused by the page fault of the plurality of virtual machines in each scheduling period by determining the number of page faults of the plurality of virtual machines in a plurality of time periods (burst, short-term, long-term, etc.) and the CPU time overhead caused by the page fault. Further, the upper limit of the memory overcommitment that can be borne by the plurality of virtual machines can be determined by predicting the cold page amount of the plurality of virtual machines in the future time period, so as to determine the quota of the plurality of virtual machines in the future time period according to the number of page faults of the plurality of virtual machines and the CPU time overhead caused by the page fault, and the predicted cold page amount of the plurality of virtual machines in the future time period. In consideration of the memory overcommitment bearing capacity of the plurality of virtual machines, the available virtual memory is increased, the page replacement, address translation and other pressures in the running process of each virtual machine are dynamically reduced, the performance reduction probability of the host is reduced, so as to improve the water level stability of the entire memory of the host, and make the running of the host more stable. The above is a schematic scheme of the memory overcommitment processing method of the embodiment. It should be noted that the technical scheme of the memory overcommitment processing method belongs to the same concept as the technical scheme of the memory overcommitment processing method described above. The details of the technical scheme of the memory overcommitment processing method are not described in detail, and can be referred to the description of the technical scheme of the memory overcommitment processing method. Corresponding to the method embodiment described above, the present specification also provides a memory overcommitment processing system embodiment. FIG. 4 shows a structure schematic diagram of a memory overcommitment processing system provided by an embodiment of the present specification.As shown in FIG. 4, the system is applied to a host computer running a plurality of virtual machines, and the system comprises: a state data determination unit 402 configured to determine page fault state data of the plurality of virtual machines in a first historical time period; a performance loss result determination unit 404 configured to determine performance loss results of the plurality of virtual machines according to the page fault state data; a cold page data determination unit 406 configured to determine predicted cold page data of the plurality of virtual machines in a future time period according to historical cold page data of the plurality of virtual machines in a second historical time period, wherein a length of the second historical time period is less than or equal to a length of the first historical time period, and the length of the second historical time period is the same as that of the future time period; a memory overcommitment index determination unit 408 configured to determine memory overcommitment indexes of the plurality of virtual machines in the future time period according to the performance loss results and the predicted cold page data. Optionally, the memory overcommitment index determination unit 408 is further configured to: determine memory overcommitment ratios of the plurality of virtual machines according to the performance loss results; determine initial memory overcommitment indexes of the plurality of virtual machines according to the memory overcommitment ratios and a memory overcommitment amount of the host computer; and determine the memory overcommitment indexes of the plurality of virtual machines in the future time period according to the initial memory overcommitment indexes of the plurality of virtual machines and the predicted cold page data. Optionally, the memory overcommitment index determination unit 408 is further configured to: determine target virtual machines from the plurality of virtual machines in sequence; in a case where an initial memory overcommitment index of the target virtual machine is greater than or equal to predicted cold page data of the target virtual machine, determine a memory index contained in the predicted cold page data as a memory overcommitment index of the target virtual machine in the future time period; or in a case where the initial memory overcommitment index of the target virtual machine is less than the predicted cold page data of the target virtual machine, determine the initial memory overcommitment index as the memory overcommitment index of the target virtual machine in the future time period; and determine the memory overcommitment indexes of the plurality of virtual machines in the future time period according to the memory overcommitment index of the target virtual machine in the future time period.Optionally, the apparatus further comprises a supplemental overcommitment unit configured to: determine a total memory overcommitment index according to the memory overcommitment indexes of the plurality of virtual machines in the future time period; in a case where the total memory overcommitment index is less than a memory overcommitment amount of the host machine, determine a to-be-supplemented virtual machine from the plurality of virtual machines according to the memory overcommitment indexes of the plurality of virtual machines in the future time period and predicted cold page data; determine an overcommitment difference value of the total memory overcommitment index and the memory overcommitment amount of the host machine; determine a supplemental memory overcommitment ratio of the to-be-supplemented virtual machine according to a performance loss result of the to-be-supplemented virtual machine; and determine a supplemental memory overcommitment index of the to-be-supplemented virtual machine according to the overcommitment difference value and the supplemental memory overcommitment ratio. Optionally, the apparatus further comprises a host machine memory overcommitment amount determination unit configured to: determine a memory amount control parameter, determine a predicted memory amount of the host machine in the future time period according to the memory amount control parameter; determine a current used memory amount and a current idle memory amount of the plurality of virtual machines, and determine the memory overcommitment amount of the host machine according to the predicted memory amount, the current used memory amount, and the current idle memory amount. Optionally, the apparatus further comprises a time period determination unit configured to: determine a current scheduling time and a preset time length, and determine a first historical time period according to the current scheduling time and the preset time length, wherein the current scheduling time is a time start point of the future time period. Optionally, the preset time length comprises a first preset time length, a second preset time length, and a third preset time length; and the time period determination unit is further configured to: determine three first historical time periods according to the current scheduling time, the first preset time length, the second preset time length, and the third preset time length. Optionally, the state data determination unit 402 is further configured to: determine page fault state data of the plurality of virtual machines in each first historical time period of the three first historical time periods. Optionally, the performance loss result determination unit 404 is further configured to: determine performance loss results of the plurality of virtual machines in each first historical time period according to the page fault state data of the plurality of virtual machines in each first historical time period; perform weighted summation processing and normalization processing on the performance loss results of the plurality of virtual machines in each first historical time period by using weights corresponding to the plurality of virtual machines in each first historical time period, to determine the performance loss result of the plurality of virtual machines.Optionally, the page fault state data comprises a page fault frequency and a page fault cost; the performance loss result determination unit 404 is further configured to: determine, according to the page fault state data, the page fault frequency and the page fault cost of the plurality of virtual machines in the first historical time period; determine a first performance loss result of the page fault frequency of the plurality of virtual machines for the first historical time period and a second performance loss result of the page fault cost of the plurality of virtual machines for the first historical time period; perform weighted summation processing and normalization processing on the first performance loss result of the page fault frequency of the plurality of virtual machines for the first historical time period and the second performance loss result of the page fault cost of the plurality of virtual machines for the first historical time period by using a weight of the first performance loss result and a weight of the second performance loss result, to determine the performance loss result of the plurality of virtual machines. Optionally, the cold page data determination unit 406 is further configured to: determine, according to historical cold page data of the plurality of virtual machines in a second historical time period, predicted cold page data of the plurality of virtual machines in a future time period by using a time series prediction model, wherein the time series prediction model is a machine learning model. Optionally, the apparatus further comprises an algorithm selection unit configured to: determine a target performance loss algorithm and a target cold page prediction algorithm from an algorithm pool, wherein the algorithm pool comprises at least two performance loss algorithms and at least two cold page prediction algorithms; the determining, according to the page fault state data, of the performance loss result of the plurality of virtual machines comprises: determining, according to the page fault state data, the performance loss result of the plurality of virtual machines by using the target performance loss algorithm; and the determining, according to the historical cold page data of the plurality of virtual machines in the second historical time period, of the predicted cold page data of the plurality of virtual machines in the future time period comprises: determining, according to the historical cold page data of the plurality of virtual machines in the second historical time period, the predicted cold page data of the plurality of virtual machines in the future time period by using the target cold page prediction algorithm.Optionally, the algorithm selection unit is further configured to: determine a plurality of algorithm combinations from the algorithm pool, wherein any one of the plurality of algorithm combinations comprises a performance loss algorithm and a cold page prediction algorithm; determine the plurality of algorithm combinations as initial algorithm combinations; perform data processing on the initial algorithm combinations according to the determined simulation page fault state data of the plurality of simulation virtual machines and simulation historical cold page data of the plurality of simulation virtual machines in a second simulation historical time period, to obtain initial memory overcommitment indicators of the plurality of simulation virtual machines in a simulation future time period corresponding to the initial algorithm combinations; determine a target memory overcommitment indicator according to the initial memory overcommitment indicators, and determine the target performance loss algorithm and the target cold page prediction algorithm according to a target algorithm combination corresponding to the target memory overcommitment indicator. Optionally, the algorithm selection unit is further configured to: determine simulation initial performance loss results of the plurality of simulation virtual machines by using the performance loss algorithm included in the initial algorithm combinations according to the determined simulation page fault state data of the plurality of simulation virtual machines; determine simulation initial predicted cold page data of the plurality of simulation virtual machines in the simulation future time period by using the simulation cold page prediction algorithm included in the initial algorithm combinations according to the simulation historical cold page data of the plurality of simulation virtual machines in the second simulation historical time period; and determine the initial memory overcommitment indicators of the plurality of simulation virtual machines in the simulation future time period corresponding to the initial algorithm combinations according to the simulation initial performance loss results and the simulation initial predicted cold page data. Optionally, the apparatus further comprises a page replacement unit configured to: determine target memory pages of the plurality of virtual machines according to the memory overcommitment indicators; and replace the target memory pages to a page swap space, wherein the page swap space is a storage space different from the memory. Optionally, the memory overcommitment indicator determination unit 408 is further configured to: add performance loss results of the plurality of virtual machines to obtain a performance loss result total; and determine memory overcommitment proportions of the virtual machines in the plurality of virtual machines according to ratios of the performance loss results of the virtual machines to the performance loss result total.Optionally, the algorithm selection unit is further configured to: determine the damaged values corresponding to the initial memory overcommitment indicators according to the initial memory overcommitment indicators; determine a target memory overcommitment indicator from the initial memory overcommitment indicators according to the damaged values corresponding to the initial memory overcommitment indicators, wherein the damaged value of the target memory overcommitment indicator is less than or equal to any one of the damaged values of the initial memory overcommitment indicators; determine, according to the target memory overcommitment indicator, the initial algorithm combination corresponding to the target memory overcommitment indicator in the initial algorithm combinations as a target algorithm combination corresponding to the target memory overcommitment indicator; determine the performance loss algorithm included in the target algorithm combination as the target performance loss algorithm, and determine the cold page prediction algorithm included in the target algorithm combination as the target cold page prediction algorithm. Optionally, the algorithm selection unit is further configured to: determine the initial memory overcommitment indicators as target simulation memory overcommitment indicators; perform memory overcommitment simulation on a plurality of simulation virtual machines by using the target simulation memory overcommitment indicators to obtain initial damaged values of the plurality of simulation virtual machines; determine the sum of the initial damaged values of the simulation virtual machines as the damaged value corresponding to the target simulation memory overcommitment indicators; and determine the damaged values corresponding to the initial memory overcommitment indicators according to the damaged value corresponding to the target simulation memory overcommitment indicators. One embodiment of the present specification provides a memory overcommitment processing system, which determines the page fault state data of a plurality of virtual machines in a first historical time period by using a state data determination unit, determines the performance loss results of the plurality of virtual machines, determines the host machine performance (such as memory performance, input / output performance, etc.) loss of the plurality of virtual machines due to page faults by using a performance loss result determination unit, further determines the predicted cold page data of the plurality of virtual machines in a future time period by using a cold page data determination unit by using the historical cold page data of the plurality of virtual machines in a second historical time period, so as to obtain the memory overcommitment upper limit that can be borne by the plurality of virtual machines, and determine the memory overcommitment indicators of the plurality of virtual machines in the future time period according to the performance loss results of the plurality of virtual machines and the predicted cold page data of the plurality of virtual machines in the future time period by using a memory overcommitment indicator determination unit. In the case of considering the bearing capacity of the plurality of virtual machines, the virtual memory is increased, so that the page replacement pressure and the address translation pressure in the running process of each virtual machine are reduced, thereby achieving the effect of reducing the probability of reducing the memory performance and the input / output performance of the host machine to which the memory overcommitment system is applied, and improving the running stability of the host machine. The above is a schematic scheme of a memory overcommitment processing system of the present embodiment.It should be noted that the technical solution of the memory overcommitment system belongs to the same concept as the technical solution of the memory overcommitment method described above, and the details of the technical solution of the memory overcommitment system that are not described in detail can be referred to the description of the technical solution of the memory overcommitment method described above. FIG. 5 shows a structural block diagram of a computing device 500 according to an embodiment of the present specification. The components of the computing device 500 include but are not limited to a memory 510 and a processor 520. The processor 520 is connected to the memory 510 through a bus 530, and a database 550 is used to save data. The computing device 500 also includes an access device 540, which enables the computing device 500 to communicate via one or more networks 560. Examples of these networks include a public switched telephone network (PSTN), a local area network (LAN), a wide area network (WAN), a personal area network (PAN), or a combination of communication networks such as the Internet. The access device 540 can include one or more of any type of network interface (for example, a network interface card (NIC)), such as an IEEE 802.11 wireless local area network (WLAN) wireless interface, a worldwide interoperability for microwave access (Wi-MAX) interface, an Ethernet interface, a universal serial bus (USB) interface, a cellular network interface, a Bluetooth interface, a near field communication (NFC), or a wired or wireless network interface. In an embodiment of the present specification, the above-mentioned components of the computing device 500 and other components not shown in FIG. 5 can also be connected to each other, for example, through a bus. It should be understood that the structural block diagram of the computing device shown in FIG. 5 is only for the purpose of example, and is not a limitation on the scope of the present specification. Those skilled in the art can add or replace other components as needed.The computing device 500 can be any type of stationary or mobile computing device, including a mobile computer or mobile computing device (e.g., a tablet computer, a personal digital assistant, a laptop computer, a notebook computer, a netbook, etc.), a mobile phone (e.g., a smartphone), a wearable computing device (e.g., a smart watch, smart glasses, etc.), or other type of mobile device, or a stationary computing device such as a desktop computer or a personal computer (PC). The computing device 500 can also be a mobile or stationary server. The processor 520 is configured to execute instructions stored in the memory 510 for carrying out the steps of the memory overcommitment processing method described above. Each of the embodiments described in the specification are described in a progressive manner, and the same or similar parts among the embodiments can be mutually referred to, and each of the embodiments focuses on the differences from other embodiments. In particular, for the computing device embodiments, the description is relatively simple because it is substantially similar to the memory overcommitment processing method embodiments, and the relevant parts can be referred to the description of the memory overcommitment processing method embodiments. An embodiment of the specification also provides a computer-readable storage medium storing computer programs / instructions, which are executed by a processor to implement the steps of the memory overcommitment processing method described above. Each of the embodiments described in the specification is described in a progressive manner, and the same or similar parts among the embodiments can be mutually referred to, and each of the embodiments focuses on the differences from other embodiments. In particular, for the computer-readable storage medium embodiments, the description is relatively simple because it is substantially similar to the memory overcommitment processing method embodiments, and the relevant parts can be referred to the description of the memory overcommitment processing method embodiments. An embodiment of the specification also provides a computer program product including computer programs / instructions, which are executed by a processor to implement the steps of the memory overcommitment processing method described above. The above is a schematic scheme of the computer program product of the embodiment. It should be noted that the technical scheme of the computer program product is the same as the technical scheme of the memory overcommitment processing method, and the details of the technical scheme of the computer program product that are not described in detail can be referred to the description of the technical scheme of the memory overcommitment processing method. The above describes a specific embodiment of the specification. Other embodiments are within the scope of the appended claims. In some cases, the actions or steps recited in the claims can be performed in a different order than the order in which they are recited and still achieve the desired results.Moreover, the acts recited in the process depicted in the figures need not be performed in the order shown or in sequential order. In certain implementations, multitasking and parallel processing can be advantageous. The computer program code mentioned above can be written in any form of programming language, including compiled or interpreted languages, and can be deployed in any form, including as a stand-alone program or as a module, component, subroutine, or other unit suitable for use in a computing environment. The computer readable medium can include any medium that can store or transfer the computer program code, including volatile or non-volatile storage devices, removable storage devices, and transmission signals. It is to be understood that the computer readable medium can be embodied in many forms to include a media that can carry the computer program code, such as electrical carrier signals, optical signals, magnetic tape, magnetic disk, magnetic strip, magnetic cards, optical fiber, RAM, ROM, floppy disk, CD-ROM, USB key, mobile hard disk, and software distribution package, etc. It is to be understood that the computer readable medium can include appropriate content according to the requirements of patent practice, for example, in some regions, according to the requirements of patent practice, the computer readable medium does not include electrical carrier signals and telecommunication signals. It is to be understood that, for the aforementioned method embodiments, the acts performed in each method embodiment are described in a particular, sequential order, but it is to be understood that the ordering of such acts can be changed, and that some acts can be performed simultaneously or in different orders. It is also to be understood that the acts described in the embodiments can be implemented by computer program instructions. It is to be understood that the embodiments described in the specification are preferred embodiments, and the acts and modules involved are not necessarily essential to the embodiments described in the specification. In the above embodiments, the description of each embodiment focuses on different aspects, and the parts not described in detail in a certain embodiment can be referred to the relevant description of other embodiments. The preferred embodiments disclosed above are used to better illustrate the principles and practical applications of the embodiments. It is to be understood that the embodiments described in the specification can be modified and changed in many ways. The embodiments are selected and described in detail to better illustrate the principles and practical applications of the embodiments, so that those skilled in the art can better understand and use the embodiments. The specification is limited by the claims and their full scope and equivalents.

Claims

CLAIM 1. A memory overcommitment processing method, applied to a host computer, wherein the host computer runs a plurality of virtual machines, and the method comprises: determine page fault state data of the plurality of virtual machines in a first historical time period; determine performance loss results of the plurality of virtual machines according to the page fault state data; determine predicted cold page data of the plurality of virtual machines in a future time period according to historical cold page data of the plurality of virtual machines in a second historical time period, wherein a time length of the second historical time period is less than or equal to a time length of the first historical time period, and the time length of the second historical time period is the same as that of the future time period; and determine memory overcommit indicators of the plurality of virtual machines in the future time period according to the performance loss results and the predicted cold page data.

2. The memory overcommitment processing method of claim 1, wherein determining the memory overcommitment indicator of the plurality of virtual machines at the future time period based on the performance loss result and the predicted cold page data comprises: determine memory overcommit ratios of the plurality of virtual machines according to the performance loss results; determine initial memory overcommit indicators of the plurality of virtual machines according to the memory overcommit ratios and a memory overcommit amount of the host machine; and determine memory overcommit indicators of the plurality of virtual machines in the future time period according to the initial memory overcommit indicators and predicted cold page data of the plurality of virtual machines.

3. The memory overcommit processing method of claim 2, wherein determining the memory overcommit indicators of the plurality of virtual machines for the future time period based on the initial memory overcommit indicators of the plurality of virtual machines and the predicted cold page data comprises: determine a target virtual machine from the plurality of virtual machines in sequence; in a case where the initial memory overcommit indicator of the target virtual machine is greater than or equal to the predicted cold page data of the target virtual machine, determine a memory indicator included in the predicted cold page data as the memory overcommit indicator of the target virtual machine in the future time period; or in a case where the initial memory overcommit indicator of the target virtual machine is less than the predicted cold page data of the target virtual machine, determine the initial memory overcommit indicator as the memory overcommit indicator of the target virtual machine in the future time period; and determine the memory overcommit indicators of the plurality of virtual machines in the future time period according to the memory overcommit indicator of the target virtual machine in the future time period.

4. The memory overcommitment processing method of any one of claims 1-3, wherein the determining the memory overcommitment indicator for the plurality of virtual machines at the future time period comprises: determine a total memory overcommit indicator according to the memory overcommit indicators of the plurality of virtual machines in the future time period; in a case where the total memory overcommit indicator is less than the memory overcommit amount of the host machine, determine a to-be-supplemented virtual machine from the plurality of virtual machines according to the memory overcommit indicators and predicted cold page data of the plurality of virtual machines in the future time period; determine an overcommit difference value between the total memory overcommit indicator and the memory overcommit amount of the host machine; determine a supplemented memory overcommit ratio of the to-be-supplemented virtual machine according to a performance loss result of the to-be-supplemented virtual machine; 28 determine a supplemented memory overcommit indicator of the to-be-supplemented virtual machine according to the overcommit difference value and the supplemented memory overcommit ratio.

5. The memory overcommitment method according to claim 2 or 3, before the step of determining the initial memory overcommitment indicator of the plurality of virtual machines according to the memory overcommitment ratio and the memory overcommitment amount of the host machine, further comprising: determine a memory amount control parameter, and determine a predicted memory amount of the host machine in the future time period according to the memory amount control parameter. determining a current used memory amount and a current idle memory amount of the plurality of virtual machines, and determining a memory over-provisioning amount of the host machine according to the predicted memory amount, the current used memory amount and the current idle memory amount.

6. The memory overcommitment processing method of any of claims 1-5, prior to the determining the page fault status data for the plurality of virtual machines at the first historical time period, further comprising: determining a current scheduling time and a preset time length, and determining a first historical time period according to the current scheduling time and the preset time length, wherein the current scheduling time is a time start point of the future time period. 7.The memory overcommit processing method of claim 6, wherein the preset time length comprises a first preset time length, a second preset time length, and a third preset time length; and determining the first historical time period according to the current scheduling time and the preset time length comprises: determining the first historical time period according to the current scheduling time and the first preset time length. determining three first historical time periods according to the current scheduling time, the first preset time length, the second preset time length and the third preset time length.

8. The memory overcommit processing method of claim 7, wherein the determining the page fault status data of the plurality of virtual machines at the first historical time period comprises: determining page fault state data of the plurality of virtual machines in each first historical time period of the three first historical time periods.

9. The memory overcommit processing method of claim 8, wherein determining the performance loss result of the plurality of virtual machines according to the page fault status data comprises: determining performance loss results of the plurality of virtual machines in each first historical time period according to the page fault state data of the plurality of virtual machines in each first historical time period, performing weighted summation processing and normalization processing on the performance loss results of the plurality of virtual machines in each first historical time period by using weights corresponding to the plurality of virtual machines in each first historical time period, and determining performance loss results of the plurality of virtual machines. ​ 10. The method of claim 1-9, wherein the page fault status data comprises a number of page faults and a page fault cost. The determining of the performance loss results of the plurality of virtual machines according to the page fault state data comprises: determining a page fault frequency and a page fault cost of the plurality of virtual machines in the first historical time period according to the page fault state data; determining a first performance loss result of the page fault frequency of the plurality of virtual machines for the first historical time period and a second performance loss result of the page fault cost of the plurality of virtual machines for the first historical time period, and performing weighted summation processing and normalization processing on the first performance loss result and the second performance loss result by using weights of the first performance loss result and weights of the second performance loss result, to determine the performance loss results of the plurality of virtual machines. determining predicted cold page data of the plurality of virtual machines in a future time period according to historical cold page data of the plurality of virtual machines in a second historical time period by using a time series prediction model, wherein the time series prediction model is a machine learning model.

11. The memory overcommitment method of any of claims 1-10, wherein determining the predicted page fault data for the plurality of virtual machines for a future time period based on the historical page fault data for the plurality of virtual machines for a second historical time period comprises: ​ 12. The memory overcommitment method of any of claims 1-11, the determining the page fault state data of the plurality of virtual machines at a first historical time period further comprising: determine a target performance loss algorithm and a target cold page prediction algorithm from an algorithm pool, wherein the algorithm pool comprises at least two performance loss algorithms and at least two cold page prediction algorithms; determine performance loss results of the plurality of virtual machines according to the page fault state data, comprising: determining performance loss results of the plurality of virtual machines according to the page fault state data by using the target performance loss algorithm; determine predicted cold page data of the plurality of virtual machines in a future time period according to historical cold page data of the plurality of virtual machines in a second historical time period, comprising: determining predicted cold page data of the plurality of virtual machines in the future time period according to the historical cold page data of the plurality of virtual machines in the second historical time period by using the target cold page prediction algorithm.

13. The memory sub-dividing processing method of claim 12, wherein the determining the target performance loss algorithm and the target cold page prediction algorithm from the algorithm pool comprises: determine a plurality of algorithm combinations from the algorithm pool, wherein any one of the plurality of algorithm combinations comprises a performance loss algorithm and a cold page prediction algorithm; determine a plurality of algorithm combinations as initial algorithm combinations; perform data processing by using the initial algorithm combinations according to determined simulation page fault state data of a plurality of simulation virtual machines and simulation historical cold page data of the plurality of simulation virtual machines in a second simulation historical time period, to obtain initial memory overcommitment indicators of the plurality of simulation virtual machines in a simulation future time period corresponding to the initial algorithm combinations; determine a target memory overcommitment indicator according to each initial memory overcommitment indicator, and determine the target performance loss algorithm and the target cold page prediction algorithm according to a target algorithm combination corresponding to the target memory overcommitment indicator.

14. The memory overcommitment processing method of claim 13, wherein the initial algorithm combination is used to process the determined memory page fault status data of the plurality of emulated virtual machines and the emulated history cold page data of the plurality of emulated virtual machines in the second emulated history time period to obtain initial memory overcommitment indicators of the plurality of emulated virtual machines in an emulated future time period corresponding to the initial algorithm combination, comprising: determine simulation initial performance loss results of the plurality of simulation virtual machines by using performance loss algorithms included in the initial algorithm combinations according to determined simulation page fault state data of the plurality of simulation virtual machines; determine simulation initial predicted cold page data of the plurality of simulation virtual machines in the simulation future time period by using simulation cold page prediction algorithms included in the initial algorithm combinations according to simulation historical cold page data of the plurality of simulation virtual machines in a second simulation historical time period; determine initial memory overcommitment indicators of the plurality of simulation virtual machines in the simulation future time period corresponding to the initial algorithm combinations according to the simulation initial performance loss results and the simulation initial predicted cold page data. determine target memory pages of the plurality of virtual machines according to the memory overcommitment indicators; 15. The memory overcommitment method of any one of claims 1-14, wherein determining the memory overcommitment indicator for the plurality of virtual machines for the future time period based on the performance loss result and the predicted cold page data further comprises: replace the target memory pages to a page swap space, wherein the page swap space is a storage space different from the memory. add performance loss results of the plurality of virtual machines to obtain a performance loss result total sum; 16. The memory overcommitment processing method according to any one of claims 2-3, 5, wherein the determining the memory overcommitment ratios of the plurality of virtual machines according to the performance loss result comprises: determine memory overcommitment proportions of each virtual machine in the plurality of virtual machines according to proportions of performance loss results of each virtual machine relative to the performance loss result total sum. ​ 17. The method of claim 13 or 14, wherein determining, according to each initial memory partitioning indicator, a target memory partitioning indicator, and determining, according to a target algorithm combination corresponding to the target memory partitioning indicator, the target performance loss algorithm and the target cold page prediction algorithm, comprises: According to the initial memory overcommitment indicators, determine the damaged values corresponding to the initial memory overcommitment indicators; According to the damaged values corresponding to the initial memory overcommitment indicators, determine a target memory overcommitment indicator from the initial memory overcommitment indicators, wherein the damaged value of the target memory overcommitment indicator is less than or equal to any one of the damaged values of the initial memory overcommitment indicators; according to the target memory overcommitment indicator, determine the initial algorithm combination corresponding to the target memory overcommitment indicator as a target algorithm combination corresponding to the target memory overcommitment indicator; determine the performance loss algorithm included in the target algorithm combination as a target performance loss algorithm, and determine the cold page prediction algorithm included in the target algorithm combination as a target cold page prediction algorithm. ​ 18. The memory sub-dividing method of claim 17, wherein determining the damaged value corresponding to each initial memory sub-dividing indicator based on the initial memory sub-dividing indicator comprises: Determine the initial memory overcommitment indicators as target simulation memory overcommitment indicators; Use the target simulation memory overcommitment indicators to perform memory overcommitment simulation on a plurality of simulation virtual machines, and obtain initial damaged values of the plurality of simulation virtual machines; Determine the sum of the initial damaged values of the simulation virtual machines as the damaged value corresponding to the target simulation memory overcommitment indicator; and determine the damaged values corresponding to the initial memory overcommitment indicators according to the damaged value corresponding to the target simulation memory overcommitment indicator.

19. A memory overcommitment processing system for a host computer, the host computer running a plurality of virtual machines, the system comprising: A state data determination unit configured to determine page fault state data of the plurality of virtual machines in a first historical time period; A performance loss result determination unit configured to determine performance loss results of the plurality of virtual machines according to the page fault state data; A cold page data determination unit configured to determine predicted cold page data of the plurality of virtual machines in a future time period according to historical cold page data of the plurality of virtual machines in a second historical time period, wherein the length of the second historical time period is less than or equal to the length of the first historical time period, and the length of the second historical time period is the same as the length of the future time period; and a memory overcommitment indicator determination unit configured to determine memory overcommitment indicators of the plurality of virtual machines in the future time period according to the performance loss results and the predicted cold page data. A memory and a processor; 20. A computing device comprising: The memory is configured to store computer programs / instructions, and the processor is configured to execute the computer programs / instructions, so as to implement the steps of the memory overcommitment processing method in any one of claims 1 to 18.

21. A computer readable storage medium, which stores computer programs / instructions, and the computer programs / instructions are executed by a processor to implement the steps of the memory overcommitment processing method in any one of claims 1 to 18.

22. A computer program product, which comprises computer programs / instructions, and the computer programs / instructions are executed by a processor to implement the steps of the memory overcommitment processing method in any one of claims 1 to 18. ​ 32

Citation Information

Patent Citations

  • Method and computer system for memory management on virtual machine system

    CN103729305A

  • Cloud platform memory resource dynamic hyper-allocation method based on trend prediction, and equipment

    CN113722100A

  • Memory missing page exception processing method and device, equipment and storage medium

    CN114253458A

  • Application configurable selective memory compression (ACSMC)

    US20220083398A1