Home / VMware vSphere / Dynamically Adding Memory CPU to VM on VMware

Dynamically Adding Memory CPU to VM on VMware

VMware vSphere’s hot-add Memory and hot-plug CPU functions allow you to add the CPU and Memory while virtual machine is up and running. It will help you to add the additional  resources whenever required and  no need to bring down the VM for each time.But  you can’t remove the resources once you have added the VM while its  running.This Hot-add RAM and Hot-plug CPU will work on specific version of windows server operating systems.(Windows Server 2008 ) I have tested this features on Redhat Enterprise Linux 6.3 and it works like charm. These featutures are heavily  depends on the guest operating systems kernel and most of the Unix Like operating system’s kernel can recognize the hardware changes quickly and it will start using it.

Enterprise Operating systems like Oracle Solaris , IBM AIX and HP-UX supports these features from over the decade with help of their own RISC architecture hardwares.

In this article ,we will see that how we can enable the hot-plug CPU and Hot-add RAM on existing VM .

Enabling the VMware vSphere Hot-plug CPU & Hot-Add RAM Feature

1. Login to the VMware vSphere Client and Halt the VM .

Halt the VM
Halt the VM

2.Right click the VM and edit the virtual machine settings.

Edit the VM Settings
Edit the VM Settings

3.Expand the  CPU tab  like below.

Expand the CPU
Expand the CPU

4.Navigate to CPU hot Plug option .

CPU Hot Plug Option
CPU Hot Plug Option

5.Select the “Enable CPU Hot Add” Box.

Check the Enable CPU Hot Add
Check the Enable CPU Hot Add

6.Same way you can configure for memory as well. Just enable the Memory Hot plug like below. So that you can add the memory to the virtual machine while  its running.

Enable the Memory Hot Plug
Enable the Memory Hot Plug

7.Once you have done the above settings just power on the system. Now your VM can support the Hot-plug CPU & Hot-Add RAM features of VMware vSphere.

Power On the VM
Power On the VM

 

Testing the VMware vSphere Hot-plug CPU & Hot-Add RAM

1.Login the VM and check the current CPU & Memory information.(RHEL 6)

CPU:

[root@UAWEB1 ~]# lscpu
Architecture:          x86_64
CPU op-mode(s):        32-bit, 64-bit
Byte Order:            Little Endian
CPU(s):                1
On-line CPU(s) list:   0
Thread(s) per core:    1
Core(s) per socket:    1
CPU socket(s):         1
NUMA node(s):          1
Vendor ID:             GenuineIntel
CPU family:            6
Model:                 58
Stepping:              9
CPU MHz:               2893.459
BogoMIPS:              5786.91
L1d cache:             32K
L1i cache:             32K
L2 cache:              256K
L3 cache:              3072K
NUMA node0 CPU(s):     0
[root@UAWEB1 ~]#

Memory:

[root@UAWEB1 ~]# free -m
             total       used       free     shared    buffers     cached
Mem:          1869        211       1658          0         11         74
-/+ buffers/cache:        125       1744
Swap:         4031          0       4031
[root@UAWEB1 ~]#

2.Go Back to VMware vSphere Client console and edit the virtual Machine to increase the memory.(Increased from 2048 to 2560).Click OK to save the settings.

Increase the Memory while system is running
Increase the Memory while system is running

3.Execute the below command on VM guest to see whether newly added memory is reflecting or not.

[root@UAWEB1 ~]# free -m
             total       used       free     shared    buffers     cached
Mem:          2381        221       2160          0         11         74
-/+ buffers/cache:        135       2246
Swap:         4031          0       4031
[root@UAWEB1 ~]#

We can see that total memory has been increased 500MB. Which means Hot RAM feature is working fine on RHEL 6.x

4.Let me increase the number of virtual CPU for the VM guest.

Add additional CPU to the VM while running
Add additional CPU to the VM while running

5.Check on the CPU information on RHEL VM.

[root@UAWEB1 ~]# lscpu
Architecture:          x86_64
CPU op-mode(s):        32-bit, 64-bit
Byte Order:            Little Endian
CPU(s):                2
On-line CPU(s) list:   0,1
Thread(s) per core:    1
Core(s) per socket:    1
CPU socket(s):         2
NUMA node(s):          1
Vendor ID:             GenuineIntel
CPU family:            6
Model:                 58
Stepping:              9
CPU MHz:               2893.459
BogoMIPS:              5786.91
L1d cache:             32K
L1i cache:             32K
L2 cache:              256K
L3 cache:              3072K
NUMA node0 CPU(s):     0,1
[root@UAWEB1 ~]#

We can see that CPU(s) count has been increased from 1 to 2.

Why VMware is not enabling the Hot Memory & Hot CPU feature by default ? There is an little overhead by enabling the features. That’s why customers need to decides  whether they require this feature or not.

Thank you for visiting UnixArena

Share it ! Comment it !! Be Sociable !!!

VMTURBO-CLOUD-CAPACITY

2 comments

  1. You are right Alex.

    Enabling hot add memory & CPU will disable vNUMU.

    vNUMA (virtual NUMA) is a memory-access optimization method for VMware virtual machines (VMs) that helps prevent memory-bandwidth bottlenecks.

Leave a Reply

Your email address will not be published. Required fields are marked *