Thursday, 17 August 2017

Virtual Machine - CPU (Reservations, Shares & Limits) Part 1(viii)

As I said, we"ll be covering the CPU - Reservation, Shares & Limits.

The SI Unit for CPU is hertz(Hz), frequency or clock cycles per second that were somewhat limited to the first generation CPUs. Now in the 21st Century, CPU's have larger processing capability with more clock cycles per second thereby measured in MHz(MegaHertz) i.e one million cycles per second & GHz(GigaHertz) i.e one billion cycles per second.

RESERVATION: Guaranteed minimum allocation of Resources.

LIMIT: Upper bound of given resource or the maximum amount of resource CONSUMER is entitled from physical(ESXi). 

SHARESPriority of a VM's access to a given resource.


In Case of CPU, Share values can be defined as Low, Normal, High & Custom.

In the 2 VMs named, CPU1(Girish01-2), CPU2(Girish01-3). I am running a script to increase the CPU activity.
In other 3 VMs named VM01(Low), VM02(Normal) & VM03(High) running normally with different share values.
                           


People are use to ask is there a performance impact on the VMs!! Nah!. There will be NO IMPACT till the time every one is not hungry for resource as soon as every one is hungry for the resource, there you go!!

As given in the screenshot with the help of CPU shares, the VM01 with high is getting more priority and henceforth.




Reference:Click here.





Thursday, 10 August 2017

Installing PowerCLI 6.5.1

Check the version of PowerShell in windows System,
In order to install powercli 6.5.2 ,  the version of PowerShell should be 5 or above.
To install PowerShell 5 for windows server 2012, click here.
Download it,  install and update the windows server.
Once done run this command to check the PowerShell version


  • $psversiontable


Once PowerShell version is updated, run these commands
  • Find-module -Name VMware.PowerCLI
  • Install-Module -Name VMware.PowerCLI -Scope CurrentUser

Once finished, you will be able to run powercli commands from the same window.





Tuesday, 8 August 2017

Virtual Machine - Edit Settings (Memory) Part 2 (i)

In my previous Series of posts, we have explored options available under CPU(Part1 to Part7).
In this series, we are going to talk about Memory options as below:-

As said for CPU & Memory Reservations, Shares & Limits,  I"ll be running a separate post after completing all the options related to virtual machine edit settings.

Here, In this post, the option to explore is Memory Hot Plug.

It can not be enabled when the machine is in running state and as told in case of CPU Hot Add posts earlier, it has to be supported by the operating system as in these given KB2020993 & KB2051989 articles.

Using this option, Memory Hot Plug: Memory can only be increased, it can not be decreased.
Given below is the screenshot of Windows Server 2012, Standard Edition that supports increasing the memory on the fly.


Before:                                 After:
     


Friday, 4 August 2017

Virtual Machine - Edit Settings (CPU) Part 1 (vii)

In my previous post, I have talked about scheduling affinity.
In this post Part 7, I am going to talk about CPU/MMU Virtualization.



In this screenshot as you can see, I have used vSphere Web Client, Right Click on virtual machine & edit settings.

11. CPU/MMU Virtualization:- By default, it is automatic. Here, we get three options in this drop-down i.e
i) Software CPU & MMU
ii) Hardware CPU, Software MMU
iii) Hardware CPU & MMU


Software CPU - Software Based CPU Virtualization
Hardware CPU - Hardware assisted CPU Virtualization
Hardware MMU(Memory Management Unit) & Software MMU (Memory Management Unit)

For better understanding refer to this article.






Wednesday, 2 August 2017

Virtual Machine - Edit Settings (CPU) Part 1 (iv)

In my previous post, we have talked about Performance Counter.
In this post CPU Part 6, We are going to talk about Scheduling Affinity


In this screenshot as you can see, I have used vSphere Web Client, Right Click on virtual machine & edit settings.

10. Scheduling Affinity:-  By default, a virtual CPU is scheduled to run on a logical CPU. Using this feature one can restrict a VM to a dedicated LCPU. 
EX:- Lets say we have ESXi with 8LCPU numbered from 0 to 7.
If we are using Scheduling affinity then it can be specified as 1,2,3,4-6 either way means you can specify dedicated LCPU number or the range of LCPU that can be used.
USE CASE:- For CPU Intensive VM performance testing purpose to check whethere scheduling it to dedicated LCPU enhances its performance or to check VMs throughput and response time when pinning it down to LCPU.

Tuesday, 1 August 2017

Virtual Machine - Edit Settings (CPU) Part 1 (v)

In my previous post, we have talked about CPUID Mask.
In this post of CPU Part 5, We are going to talk about Performance Counter



In this screenshot as you can see, I have used vSphere Web Client, Right Click on virtual machine & edit settings.

9. Enable Virtualized CPU performance counters: It is mainly used by developers for debugging software(software profilers) which is going to run in a VM such as vTune, OProfile, CodeAnalyst.
This feature is going to make some additional CPU related performance counters (MSRs-Model Specific Registers) available to the guest OS.

There is a KB2030221, which is related to what CPU Performance counters are exposed to guest OS.


Monday, 31 July 2017

Virtual Machine - Edit Settings (CPU) Part 4(iv)

In my previous post, we have talked about Enable CPU Hot Add.
I am going to skip Reservations, Limit & Shares which will be covered along with calculations in a later post.



In this screenshot as you can see, I have used vSphere Web Client, Right Click on virtual machine & edit settings.


7.CPUID Mask: By default, VM is set to expose the NX/XD flag to guest.


This feature helps prevent execution of certain type of code.
Ex: Here, I have Windows 7 32-bit installed in which I have Enabled/Disabled this feature.

Default, Expose NX/XD flag to guest.

Later on, I Hide the NX/XD flag from guest (64-bit Windows Server 2012) I get this error.

I tried it on Windows7-32 bit, it has a feature DEP (Data Execution Prevention)