We are running ESX 3.0.2
It seems as though when any kind of script is run on a virtual machine, such as a bat file, the processor for that vm nears 100%.
Are there any settings that can be changed so that the processor doesn't max out and/or the script can run faster?
We have run the same bat file on another physical server and it only takes about 5 minutes. Where as on the VM it takes 1 hour and a half.
I realize that more information is probably needed but I am not sure what else to add.
Thanks in advanced.
What exactly is the .bat script "doing"?
Also, do you find this behavior when running the .bat script on all of your VMs, or just on a particular VM?
Do you by any chance have the VM configured with multiple vCPUs?
Are you watching the performance meter or actually the task manager within the VM? Sometimes the readings are not always accurate if you simply watch the CPU bar, because the heartbeat comes from the vmtools response.
Run perfmon for the guest, and see what Windows reports for disk and cpu during that time, and see what that reports.
If your bat scripts contains 16 bit apps these will be executed very slowly. This because the 16bit subsystem seems to be not too much optimized under current vmware versions. Executing applications in a loop also triggers a lot of system calls, and this is also not good for the performance in a virtual environment.
The bat file is running SQL backups
The processor is at 100% in the VM machine but also looks near capacity from the Virtual Console.
We upgraded the VMware tools after the ESX upgrade.
Thanks for all of the responses, as you can tell I'm a newbie to this.
We are having similar problem when running VB jobs via the Windows scheduler. CPU goes to 100% and stays there until job is done. However, we run several jobs at nearly the same time and the users who are attached get very poor response times. Our jobs run some SQL stuff on another box, so the SQL server is not on the VM guest. Did you ever get a satisfactory response to your issue?