?
Solved

How to tune Memory allocation in an existing VMWare ESXi 5.1 environment

Posted on 2013-10-22
12
Medium Priority
?
849 Views
Last Modified: 2016-11-23
Firstly, everything is working pretty well.  I have 3 Dell R710 servers each with 128Gb of RAM.  All together, I have approximately 45 virtual machines.  Till now I've been pretty generous with the RAM allocations, but now were starting to hit the ceiling as far as RAM goes.

I'd like to analyze the actual needs of the virtual machines, and adjust RAM allocations accordingly.  I've read a bunch from VMWare, various blog posts, EE of course, and in the end I think I have a good approach, but I just want to vet it.

So I have IPMonitor setup to watch each of my VMs, it records the Physical Memory consumption every 5 minutes and I can create a report looking as far back as I want.

So for example if I have a Citrix Web Interface vm with 4Gb of RAM allocated, IP Monitor (And the OS) report over 80% free memory over the course of the previous month.  So it is only using 820Mb of RAM and I add the VMWare overhead which is reported at 46Mb, and add 30% for breathing room which comes to 1.1Gb of RAM, am I golden? (Based on some general recommendations that your 'average' memory consumption shouldn't exceed 70%)

Let me know if I'm going about this right.

Thanks a ton
0
Comment
Question by:ITDharam
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 5
  • 5
  • 2
12 Comments
 
LVL 122

Accepted Solution

by:
Andrew Hancock (VMware vExpert / EE MVE^2) earned 1000 total points
ID: 39591454
The VMware vSphere parameter to monitor is Active Memory in the VM. Also remember that the computer or server, does not know it's been virtualised, so memory monitoring in the VM OS, could be inaccurate!

So do these figures, match Active Memory?

see my EE Article

HOW TO:  Performance Monitor vSphere 4.x or 5.0

see also Duncan's excellent article here

http://www.yellow-bricks.com/2010/12/20/vcenter-and-memory-metrics/
0
 
LVL 9

Assisted Solution

by:dipopo
dipopo earned 1000 total points
ID: 39591523
I would not take the metrics from within the VM as holistic. I would prefer to see what the "Active memory value is" and look at pegging "Memory reservation" to the Active memory value, in turn use these steps from VMware with regards to enhancing the performance.

http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vsphere.monitoring.doc/GUID-C442423F-18CD-4F01-914E-286ED6C72BC6.html

Then you can go further by reducing the "Memory Allocation per VM"
0
 
LVL 8

Author Comment

by:ITDharam
ID: 39591581
So I don't have a way to capture 'Active Memory' usage over time within vSphere (They remove the 'Active' memory metric when you try and change the chart to anything other than real-time.  When set to 'Active' I can see that the average 'Active' metric is a whopping 60Mb with a max of 167Mb

Meanwhile I'll look at the articles provided
0
Automating Your MSP Business

The road to profitability.
Delivering superior services is key to ensuring customer satisfaction and the consequent long-term relationships that enable MSPs to lock in predictable, recurring revenue. What's the best way to deliver superior service? One word: automation.

 
LVL 9

Expert Comment

by:dipopo
ID: 39591978
Try PowerCLI and the get-stat cmdlet, you will have to be creative I guess to get what you want.

Have a look at this, could be scheduled and you can collate figures over time.

http://www.virtu-al.net/2009/07/01/powercli-stats-one-liner/
0
 
LVL 8

Author Comment

by:ITDharam
ID: 39592191
Before I go down that route, is 'Active' really the attribute I want?  If it is report max <170Mb for a Windows web server, I'm guessing it isn't looking at the whole picture because I'm pretty sure that server wouldn't run if I allocated that little RAM to it.
0
 
LVL 122
ID: 39592308
depends what the server is actually doing, at startup Windows Test all Memory, and then drops off, to idle!
0
 
LVL 8

Author Comment

by:ITDharam
ID: 39592522
Let's take one of my Xenapp Application servers.  I've allocated 16Gb of RAM, at load there may be 40 active users, at this very moment there are 5 active users.  vSphere is reporting 655Mb of 'Active RAM', and it is showing 1.5Gb as the MAX.  Now, what are the chances that this Citrix server would run with 2Gb of RAM allocated?  I checked a Domino server with 20 active users, and it had a similar 1.5Gb MAX RAM usage.

So this has me pretty well confused, and I've read a lot of documentation on this.  I would think this would be fairly straight forward even with the vSphere overhead and sharing that are possible.  I'd also expect that watching a system that is already deployed would readily reveal whether RAM should be (de) allocated.

What am I missing here?
0
 
LVL 122
ID: 39593349
Active is a current figure, you would need to look at the averages and max and mins, to confirm real values. Not just at a point in time.

Do Memory Summary figures match your Memory figures in the OS, as a guide?
0
 
LVL 8

Author Comment

by:ITDharam
ID: 39597442
OK, I left the vSphere performance tab open on my Citrix app server and over 2 days it is now averaging 4Gb, and maxed at 7Gb which seems a lot more realistic.

Unfortunately I don't have IPMonitor setup to watch this particular VM.

Can you recommend a product that will monitor these metrics from vSphere over time and allow me to generate historical reports?  IPMonitor is really nice like that, but as far as I know it won't collect data on these vmware specific metrics.  I'll contact Solarwinds and verify.

Thanks for the help, this is becoming clearer.
0
 
LVL 122
ID: 39597457
All the information and performance is collected in the vCenter Server database.

If you want a different method of presenting this information

Veeam One
http://www.veeam.com/virtualization-management-one-solution.html

vCenter Operations Manager
http://www.vmware.com/products/vcenter-operations-management/

Both are good applications which can report on performance and metrics, we prefer vCenter Operations Manager.
0
 
LVL 8

Author Comment

by:ITDharam
ID: 39597996
Great, thank you hancocka.

I just realized that while memory 'Active' isn't available in the basic performance charge when selecting a period of time, memory 'usage' is which is good enough for me.  Slightly unfortunate that memory 'usage' only reports as a percentage instead of a KB value, but this gives me something to work with.

Thank you for your assistance.
0
 
LVL 122
ID: 39598043
no problems.
0

Featured Post

NFR key for Veeam Agent for Linux

Veeam is happy to provide a free NFR license for one year.  It allows for the non‑production use and valid for five workstations and two servers. Veeam Agent for Linux is a simple backup tool for your Linux installations, both on‑premises and in the public cloud.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

A look into Log Analysis and Effective Critical Alerting.
Ransomware is a malware that is again in the list of security  concerns. Not only for companies, but also for Government security and  even at personal use. IT departments should be aware and have the right  knowledge to how to fight it.
Teach the user how to configure vSphere Replication and how to protect and recover VMs Open vSphere Web Client: Verify vsphere Replication is enabled: Enable vSphere Replication for a virtual machine: Verify replicated VM is created: Recover replica…
Teach the user how to configure vSphere clusters to support the VMware FT feature Open vSphere Web Client: Verify vSphere HA is enabled: Verify netowrking for vMotion and FT Logging is in place or create it: Turn On FT for a virtual machine: Verify …
Suggested Courses

770 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question