Determining memory conditions in a virtual machine
First Claim
1. A method for determining memory conditions in a virtual machine, said virtual machine comprising guest virtual memory and guest physical memory, the method comprising:
- executing a first application on the virtual machine, said first application reserving a first location of a first size in the guest virtual memory;
performing with a first frequency a first predetermined action, wherein performing said first predetermined action causes said first location in the guest virtual memory to be mapped to a second location in the guest physical memory;
determining if said first location is not mapped to said second location;
measuring an interval between performing said first predetermined action and determining that said first location in the guest virtual memory is not mapped to said second location in the guest physical memory;
responsive to said interval, determining a memory condition in the virtual machine; and
responsive to said determined memory condition in the virtual machine, modifying said first frequency with which said first predetermined action is performed.
3 Assignments
0 Petitions
Accused Products
Abstract
Memory assigned to a virtual machine is reclaimed. A resource reservation application running as a guest application on the virtual machine reserves a location in guest virtual memory. The corresponding physical memory can be reclaimed and allocated to another virtual machine. The resource reservation application allows detection of guest virtual memory page-out by the guest operating system. Measuring guest virtual memory page-out is useful for determining memory conditions inside the guest operating system. Given determined memory conditions, memory allocation and reclaiming can be used control memory conditions. Memory conditions in the virtual machine can be controlled with the objective of achieving some target memory conditions.
-
Citations
28 Claims
-
1. A method for determining memory conditions in a virtual machine, said virtual machine comprising guest virtual memory and guest physical memory, the method comprising:
-
executing a first application on the virtual machine, said first application reserving a first location of a first size in the guest virtual memory; performing with a first frequency a first predetermined action, wherein performing said first predetermined action causes said first location in the guest virtual memory to be mapped to a second location in the guest physical memory; determining if said first location is not mapped to said second location; measuring an interval between performing said first predetermined action and determining that said first location in the guest virtual memory is not mapped to said second location in the guest physical memory; responsive to said interval, determining a memory condition in the virtual machine; and responsive to said determined memory condition in the virtual machine, modifying said first frequency with which said first predetermined action is performed. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12)
-
-
13. A method for determining memory conditions in a virtual machine, said virtual machine comprising guest virtual memory and guest physical memory, the method comprising:
-
executing a first application on the virtual machine, said first application reserving a first location of a first size in the guest virtual memory; performing with a first frequency a first predetermined action, wherein performing said first predetermined action causes said first location in the guest virtual memory to be mapped to a second location in the guest physical memory; determining if said first location is not mapped to said second location; measuring an interval between performing said first predetermined action and determining that said first location in the guest virtual memory is not mapped to said second location in the guest physical memory; responsive to said interval, determining a memory condition in the virtual machine; and sending said determined memory condition to said first application.
-
-
14. A method for determining memory conditions in a virtual machine, said virtual machine comprising guest virtual memory and guest physical memory, the method comprising:
-
executing a first application on the virtual machine, said first application reserving a first location of a first size in the guest virtual memory; performing, by the first application and with a first frequency, a first predetermined action, wherein performing said first predetermined action causes said first location in the guest virtual memory to be mapped to a second location in the guest physical memory; checking by a second application running outside the virtual machine if said first location is mapped to said second location; measuring an interval between performing said first predetermined action and the checking; responsive to said interval and said checking, determining by the second application a memory condition in the virtual machine; and sending said determined memory condition to a third application executing on the virtual machine.
-
-
15. A method for determining memory conditions in a virtual machine, said virtual machine comprising guest virtual memory and guest physical memory, the method comprising:
-
executing a first application on the virtual machine, said first application reserving a first location of a first size in the guest virtual memory; performing, by the first application and with a first frequency, a first predetermined action, wherein performing said first predetermined action causes said first location in the guest virtual memory to be mapped to a second location in the guest physical memory; checking by a second application running outside the virtual machine if said first location is mapped to said second location; measuring an interval between performing said first predetermined action and the checking; responsive to said interval and said checking, determining by the second application a memory condition in the virtual machine; executing a third application on the virtual machine, said third application reserving a third location of a second size in the guest virtual memory; and performing with a second frequency a second predetermined action, wherein performing said second predetermined action causes said third location in the guest virtual memory to be mapped to a fourth location in the guest physical memory; wherein said second frequency is different than said first frequency.
-
-
16. A computer program product for determining memory conditions in a virtual machine, said virtual machine comprising guest virtual memory and guest physical memory, the computer program product comprising a computer readable medium, the computer readable medium comprising:
-
computer code for executing a first application on the virtual machine, said first application comprises computer code for reserving a first location of a first size in the guest virtual memory; computer code for performing, by the first application and with a first frequency, a first predetermined action, wherein performing said first predetermined action causes said first location in the guest virtual memory to be mapped to a second location in the guest physical memory; computer code for checking by a second application running outside the virtual machine if said first location is mapped to said second location; computer code for measuring an interval between performing said first predetermined action and the checking; and computer code, responsive to said interval and said checking, for determining by the second application a memory condition in the virtual machine; computer code, responsive to said determined memory condition in the virtual machine, for modifying said first frequency with which said first predetermined action is performed. - View Dependent Claims (17, 18, 19, 20, 21, 22, 23, 24, 25)
-
-
26. A computer program product for determining memory conditions in a virtual machine, said virtual machine comprising guest virtual memory and guest physical memory, the computer program product comprising a computer readable medium, the computer readable medium comprising:
-
computer code for executing a first application on the virtual machine, said first application comprises computer code for reserving a first location of a first size in the guest virtual memory; computer code for performing, by the first application and with a first frequency, a first predetermined action, wherein performing said first predetermined action causes said first location in the guest virtual memory to be mapped to a second location in the guest physical memory; computer code for checking by a second application running outside the virtual machine if said first location is mapped to said second location; computer code for measuring an interval between performing said first predetermined action and the checking; computer code, responsive to said interval and said checking, for determining by the second application a memory condition in the virtual machine; and computer code for sending said determined memory condition to said first application.
-
-
27. A computer program product for determining memory conditions in a virtual machine, said virtual machine comprising guest virtual memory and guest physical memory, the computer program product comprising a computer readable medium, the computer readable medium comprising:
-
computer code for executing a first application on the virtual machine, said first application comprises computer code for reserving a first location of a first size in the guest virtual memory; computer code for performing, by the first application and with a first frequency, a first predetermined action, wherein performing said first predetermined action causes said first location in the guest virtual memory to be mapped to a second location in the guest physical memory; computer code for checking by a second application running outside the virtual machine if said first location is mapped to said second location; computer code for measuring an interval between performing said first predetermined action and the checking; computer code, responsive to said interval and said checking, for determining by the second application a memory condition in the virtual machine; and computer code for sending said determined memory condition to a third application executing on the virtual machine.
-
-
28. A computer program product for determining memory conditions in a virtual machine, said virtual machine comprising guest virtual memory and guest physical memory, the computer program product comprising a computer readable medium, the computer readable medium comprising:
-
computer code for executing a first application on the virtual machine, said first application comprises computer code for reserving a first location of a first size in the guest virtual memory; computer code for performing, by the first application and with a first frequency, a first predetermined action, wherein performing said first predetermined action causes said first location in the guest virtual memory to be mapped to a second location in the guest physical memory; computer code for checking by a second application running outside the virtual machine if said first location is mapped to said second location; computer code for measuring an interval between performing said first predetermined action and the checking; computer code, responsive to said interval and said checking, for determining by the second application a memory condition in the virtual machine; computer code for executing a third application on the virtual machine, said third application comprising computer code for reserving a third location of a second size in the guest virtual memory; and computer code for performing with a second frequency a second predetermined action, wherein performing said second predetermined action causes said third location in the guest virtual memory to be mapped to a fourth location in the guest physical memory; wherein said second frequency is different than said first frequency.
-
Specification