VMware Cloud Community
msalmon1
Contributor
Contributor

ESXTOP and VC Performance Metrics

Three questions:

I know that ESXTOP provides realtime data, but it's very valuable data. Is there a way to capture some of this same type of information using virtual center? for example, I would like to get the average %ready for a VM over a period of time.

ESXTOP also shows the uptime of the ESX server. Is any of the data being displayed by esxtop reflect an average since it's uptime?

Also, in capturing memory and cpu from Virtual Center on individual VMs, do you know if the "cpu usage" and "memory usage" are a percent of the total available on the ESX Host or is it a percentage of the total assigned to the individual VM?

Thanks in advance for your response.

Reply
0 Kudos
11 Replies
waynegrow
Expert
Expert

To your last question, it is CPU and Memory assigned to the VM, not % of the Host's total. % of the Host's total would be at the host's level.

I do not believe VC shows the %ready for a VM. You would have to export ESXTOP to a file and extrapolate the data. I am sure someone on this site has already been there, done that and has a good way to tell you how to.

msalmon1
Contributor
Contributor

Thanks. That begs another question. We currently have no limits or resource pools governing resource allocation on our VMs. How do I determine if a VM is using more memory or cpu than whats assigned. For example, I have a few VMs that consistenly averages 80% cpu utilization. Which causes the ESX Host to show 80% plus utilization.

Reply
0 Kudos
dsanders
Expert
Expert

In Virtual Center if you go to the performance tab for a VM and then change the chart option you can display the ready time. Unfortunately it is not in a percentage so I really don't know if what I am seeing is good or bad.

It would be nice to have same guidelines on what the different performance counters actually mean...

Reply
0 Kudos
bflynn0
Expert
Expert

A guide would be helpful, you can usually find what most of the performance stats mean, but it requires a lot of searching.

FYI, for the ready time in VC you can convert the information in the chart to a percent (manually that is Smiley Wink ). Say the Ready value for a VM is 20 milliseconds. The Graph refreshes every 20 seconds (20000 milliseconds) by default so 20/20000 is .001 so .001 *100 = 0.1% Ready

So given that usually if a VM has 6% Ready it's considered a problem, 1200 milliseconds would equate to 6% ready using the graph's default refresh time of 20 seconds.

spex
Expert
Expert

You can run esxtop in batch mode to collect data to an text file...

See man page.

Regards Spex

Reply
0 Kudos
fordian
Hot Shot
Hot Shot

hello bflynn0,

You said that graph refreshes every 20 seconds. I saw in the graph panel that it refreshes every 60 seconds. Where can I modified this setting ?

I this case do you mean I need to divided the ready value by 60000 ?

Thank you

Reply
0 Kudos
FredPeterson
Expert
Expert

So given that usually if a VM has 6% Ready it's

considered a problem, 1200 milliseconds would equate

That needs some quantifying as its not necessarily true. Numbers less then 5% are good, numbers 5-10% are acceptable.

However you \*will* see at times ready times higher then 10, if you don't, you are probably running something like 2 1 vCPU VM's per core when 4-6 is the ideal range for consolidation through virtualization to really show an ROI.

I run 4-5 per socket (do not have core cpu's) and see ready times anywhere between .5 and 15 throughout the day with occasional spikes to like 30 that last all of one esxtop refresh cycle unless one of the 2 vCPU VM's is actually using both CPUs and then its sustained, but only for the VM's that are higher on the CPU utilization to begin with.

Reply
0 Kudos
msalmon1
Contributor
Contributor

When used in batch mode, does ESXTOP still only capture realtime data, or can I get historical data, say for the past hour?

Reply
0 Kudos
RParker
Immortal
Immortal

For this part, you should create Resource pools. It not only allows you to keep a check on the limits for VM's, but you can keep a VM from crippling your host server.

what is preventing your VM from taking 100% CPU from the host? Nothing, as far as I can tell.

You are hurting yourself by not having resource pools. I would definately put this VM in a pool, and limit it to say 80% of the host, at least to start.. you can tweak it later as necessary.

Resource Pools are a good start for a well designed management of ESX servers.

Reply
0 Kudos
FredPeterson
Expert
Expert

When used in batch mode, does ESXTOP still only

capture realtime data, or can I get historical data,

say for the past hour?

You can specify the refresh interval and number of intervals with the command line, so you can set it up to gather data as frequently or infrequently as you wish.

I misunderstood your question. esxtop is only realtime data, you'd have to have it running in batch mode over an extended period of time to gather the data for it to be "historical"

Message was edited by:

FredPeterson

Reply
0 Kudos
spex
Expert
Expert

It always captures realtime data. But you can specify to output them to a csv file and specify how often and how fast esxtop should do that.

For details see man:

d Specifies the delay between statistics snapshots. Default is 5

seconds. Minimum is 2 seconds. If a delay of less than 2 seconds

is specified then the delay is set to 2 seconds.

n Number of iterations. Collect and save statistics this number of

times and then exit.

Regards

Spex

Reply
0 Kudos