Optimizing virtual machine memory sizing for cloud-scale application deployments
First Claim
1. A method for facilitating computing resource allocation in a computing environment, the computing environment including one or more computing domains with one or more servers, wherein the one or more servers execute a software utility, the software utility executing steps of the method, the method comprising:
- ascertaining a first set of information characterizing one or more computing resources of the computing environment, wherein the first set of information includes information indicating allocable memory in the computing environment, wherein the allocable memory is allocable to two or more virtual machines;
determining a set of memory allocation rules applicable to the two or more virtual machines and the computing environment;
automatically generating one or more indications of a portion of one or more computing resources that may be allocated to the two or more virtual machines without require portions of at least two of the virtual machines to be the same size based on the first set of information and the set of memory allocation rules, whereby the portion is consistent with the set of memory allocation rules,wherein the set of memory allocation rules include a set of best practices mapping rules and wherein the best practices mapping rules incorporate scaling logic for determining a factor by which to scale an amount of memory allocated to a virtual machine in accordance with the best practices mapping rules; and
if a minimum best practices sizing rule is not violated, then increasing free random access memory (RAM) for a system that includes one or more of the virtual machines by scaling down size of the one or more of the virtual machines in the system; and
if the minimum best practices sizing rule would be violated, then not increasing the free RAM,wherein the minimum best practices sizing rule pertains to whether there is sufficient addressable RAM to size each application Java Virtual Machine (JVM) type, andwherein the automatically generating of the one or more indications of the portions and the increasing of the free random access memory are performed outside of computing systems executing the two or more virtual machines.
1 Assignment
0 Petitions
Accused Products
Abstract
A system and method for facilitating allocation of computing resources, such as addressable memory, to virtual machines in a networked computing environment. An example method includes ascertaining a first set of information characterizing one or more computing resources of the computing environment, wherein the first set of information includes information indicating allocable memory in the computing environment; determining a set of memory allocation rules applicable to the one or more virtual machines and the computing environment; and employing the first set of information and the set of memory allocation rules to automatically generate and optionally implement one or more indications or recommendations for adjusting existing memory allocations in accordance with the memory allocation rules.
-
Citations
19 Claims
-
1. A method for facilitating computing resource allocation in a computing environment, the computing environment including one or more computing domains with one or more servers, wherein the one or more servers execute a software utility, the software utility executing steps of the method, the method comprising:
-
ascertaining a first set of information characterizing one or more computing resources of the computing environment, wherein the first set of information includes information indicating allocable memory in the computing environment, wherein the allocable memory is allocable to two or more virtual machines; determining a set of memory allocation rules applicable to the two or more virtual machines and the computing environment; automatically generating one or more indications of a portion of one or more computing resources that may be allocated to the two or more virtual machines without require portions of at least two of the virtual machines to be the same size based on the first set of information and the set of memory allocation rules, whereby the portion is consistent with the set of memory allocation rules, wherein the set of memory allocation rules include a set of best practices mapping rules and wherein the best practices mapping rules incorporate scaling logic for determining a factor by which to scale an amount of memory allocated to a virtual machine in accordance with the best practices mapping rules; and if a minimum best practices sizing rule is not violated, then increasing free random access memory (RAM) for a system that includes one or more of the virtual machines by scaling down size of the one or more of the virtual machines in the system; and if the minimum best practices sizing rule would be violated, then not increasing the free RAM, wherein the minimum best practices sizing rule pertains to whether there is sufficient addressable RAM to size each application Java Virtual Machine (JVM) type, and wherein the automatically generating of the one or more indications of the portions and the increasing of the free random access memory are performed outside of computing systems executing the two or more virtual machines. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 19)
-
-
17. An apparatus comprising:
- a digital processor coupled to a display and to a processor-readable storage device, wherein the processor-readable storage device includes one or more instructions executable by the digital processor to perform the following acts;
ascertaining a first set of information characterizing one or more computing resources of a computing environment, wherein the first set of information includes information indicating allocable memory in the computing environment, wherein the allocable memory is allocable to two or more virtual machines; determining a set of memory allocation rules applicable to the two or more virtual machines and the computing environment; automatically generating one or more indications of a portion of one or more computing resources that may be allocated to the two or more virtual machines without require portions of at least two of the virtual machines to be the same size based on the first set of information and the set of memory allocation rules, whereby the portion is consistent with the set of memory allocation rules, wherein the set of memory allocation rules include a set of best practices mapping rules and wherein the best practices mapping rules incorporate scaling logic for determining a factor by which to scale an amount of memory allocated to a virtual machine in accordance with the best practices mapping rules; and if a minimum best practices sizing rule is not violated, then increasing free random access memory (RAM) for a system that includes one or more of the virtual machines by scaling down size of the one or more of the virtual machines in the system; and if the minimum best practices sizing rule would be violated, then not increasing the free RAM, wherein the minimum best practices sizing rule pertains to whether there is sufficient addressable RAM to size each application Java Virtual Machine (JVM) type, and wherein the automatically generating of the one or more indications of the portions and the increasing of the free random access memory are performed outside of computing systems executing the two or more virtual machines.
- a digital processor coupled to a display and to a processor-readable storage device, wherein the processor-readable storage device includes one or more instructions executable by the digital processor to perform the following acts;
-
18. A non-transitory processor-readable storage device including instructions executable by a digital processor, the processor-readable storage device including one or more instructions for:
-
ascertaining a first set of information characterizing one or more computing resources of a computing environment, wherein the first set of information includes information indicating allocable memory in the computing environment, wherein the allocable memory is allocable to two or more virtual machines; determining a set of memory allocation rules applicable to the two or more virtual machines and the computing environment; automatically generating one or more indications of a portion of one or more computing resources that may be allocated to the two or more virtual machines without require portions of at least two of the virtual machines to be the same size based on the first set of information and the set of memory allocation rules, whereby the portion is consistent with the set of memory allocation rules, wherein the set of memory allocation rules include a set of best practices mapping rules and wherein the best practices mapping rules incorporate scaling logic for determining a factor by which to scale an amount of memory allocated to a virtual machine in accordance with the best practices mapping rules; and if a minimum best practices sizing rule is not violated, then increasing free random access memory (RAM) for a system that includes one or more of the virtual machines by scaling down size of the one or more of the virtual machines in the system; and if the minimum best practices sizing rule would be violated, then not increasing the free RAM, wherein the minimum best practices sizing rule pertains to whether there is sufficient addressable RAM to size each application Java Virtual Machine (JVM) type, and wherein the automatically generating of the one or more indications of the portions and the increasing of the free random access memory are performed outside of computing systems executing the two or more virtual machines.
-
Specification