VMware Horizon Community
jdcoulam
Contributor
Contributor

The last time a VM was logged into.

I am running View version 4.5 and I have 200 VMs and I'm reaching my hardware limit and I need to free up some VMs. I know that some people are not using theirs anymore, how can I tell when the last time a VM was interactively logged into?

6 Replies
Lubbe176
Enthusiast
Enthusiast

arent you able to view this in the View-eventlog/Events TAB?  Or was this feature added in 4.6?

We also run a small script in the loginscript, writing an event to an MySQL DB stating Username/IP/Clientname/Hostname etc.. might be an option for you?

Reply
0 Kudos
caryers
Contributor
Contributor

jdcaulam,

I know exactly what you mean. We accomplish this feat by using a VB script that uses WMI calls. So essentially, I go to ADUC, and review the VDI VM computer objects. The description field within AD has information such as "User A has logged On 11/14/2011 12:53:57 PM".

We are curerntly in a View 4.6 POC shop ourselves. We are trying to gauge how many VMs an ESX server can run with concurrent connections established. I would like to learn what "hardware limits" you are coming up against. How much RAM is in your ESX server that has these "Hardware limits"?

We currently have a ESX server with 200 VMs. However, even though we have about 100 VMs, I can only get 12-15 concurrent users on-line at any given time due to the nature of our mobile workforce that is using VDI. So I am trying to determine if an idle VM takes as much ESX resources as a "connected" VM.

Any feedback on any of the topics above would be greatly appreciated...

Thanks Scott

Reply
0 Kudos
satya1
Hot Shot
Hot Shot

edit by moderator: please stop using full quotes when it is not useful !

Hi you got any answer ?if so please share .

Yours,

Satya

Reply
0 Kudos
jdcoulam
Contributor
Contributor

In the View Administrator > Monitoring > Events: I can see messages like:

User DOMAIN\user requested Pool win7-pool, allocated machine win7pro-133

But if I have an active user I will see a bunch of those.  I can filter for each VD but that is so tedious to go through 211+ VDs I was hoping for something better.

As to your question about hardware limits: My VDs are linked clones, Windows 7 Pro, each with 2G RAM.  My host servers are 2 procs, 512G RAM and my limits really are memory, I’m running about 35 VD per server with 6 servers, I use HA, DRS etc., and my servers are running about 62% memory usage and about 20% on the procs.  If I do any maintenance and put one server in maintenance mode it disperses all the VDs to other servers then I’m running about 75% on memory and 30% on the procs and the users start to see a performance hit.  I’m sure I could push it a bit further but my users are real sensitive to the performance so I want to keep things running well even if there is a failure or maintenance.

My experience so far is that the only change I see with concurrent users is processor performance, the host memory doesn’t seem to change with multiple users but the processor changes a lot, if I have 30 users running on server the processor can get up in the 30 to 35%.  I have DRS set to fully automated and aggressive and I see a lot of movement under heavy loads trying to keep the servers balanced.  Over all our users are very happy with performance, I get a lot of remarks about their experience.

I hope this answers your questions.  I would love to see your script, would you be willing to share?

Reply
0 Kudos
AureusStone
Expert
Expert

View isn't really my area, so hopefully this information is somewhat useful.

In the past when I have been tasked with identifying unused guests I used eventcomb.  Eventcomb is a free utility from microsoft that allows you to filter windows logs for servers for specific events.  So in this situation I would export all of the VM names from vCenter and put that in event comb and then search for any login or unlock events in the past 60 days.

Reply
0 Kudos
ProPenguin
Hot Shot
Hot Shot

Hey if you are running Windows Server 2008 Active Directory where you work, you can run the command below on the domain controllers to get a list of computer names and last logon date.  This maybe easier for you than running a logon script.  Hope this helps

Just open the "Active Directory Module for Windows PowerShell"

Then run the command below replacing VM with the standard part of your name scheme for the computer names.

Get-ADComputer -filter {cn -like "*VM*"} -property cn,lastlogondate | select cn,lastlogondate

Note: Checking this against all DCs is best due to the fact that computers may check in with different DCs.