VMware Communities
kraada
Contributor
Contributor

Program inside host OS uses most of my CPU; don't know why

First the background: I run Windows 2000 in VMPlayer 2.0.3 (build 80004) in Debian 2.6.24 on an SMP machine.

What happens is that I load PokerTracker 3 (downloadable from http://www.pokertracker.com) and the maximum amount of CPU allotted to my VM is instantly in use. What's particularly strange is that inside the guest OS (Win 2k) Task Manager reports nearly no cpu usage. I am in contact with the developers, but they need a bit more information about what is causing this usage before we can figure out how to fix it. In top vmware-vmx usage is what goes to 90-95% instantly after opening PT3, and it stays there until the program is closed regardless of whether the program should be doing anything. (It does interact with the host OS as my host runs the PostgreSQL server that the PT3 data is housed in, but postgres doesn't show up in top as using any resources, which I figure it would if the CPU usage was from network traffic to-and-from the host OS and postgres.) I am told that running PT3 in Wine causes "failed timer" errors that apparently creates a lot of extra CPU usage, but I haven't experience with that personally. I have checked the vmware.log files and don't see any entries when I start/stop PT3 to indicate anything particularly out of the ordinary. So I'm not really sure what to try next, and I was hoping somebody here could give me an idea.

I've gone ahead and attached my .vmx file in case there's some configuration in there that is incorrect. Looking at the other "read before posting" questions: iptables -L is empty, the output of ifconfig -a is:

eth1 Link encap:Ethernet HWaddr 00:0d:88:3d:a1:f9

inet addr:192.168.1.102 Bcast:192.168.1.255 Mask:255.255.255.0

inet6 addr: fe80::20d:88ff:fe3d:a1f9/64 Scope:Link

UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1

RX packets:3472537 errors:0 dropped:0 overruns:0 frame:0

TX packets:22119703 errors:0 dropped:0 overruns:8 carrier:0

collisions:0 txqueuelen:1000

RX bytes:2950098330 (2.7 GiB) TX bytes:3094548008 (2.8 GiB)

Interrupt:17 Base address:0xa000

lo Link encap:Local Loopback

inet addr:127.0.0.1 Mask:255.0.0.0

inet6 addr: ::1/128 Scope:Host

UP LOOPBACK RUNNING MTU:16436 Metric:1

RX packets:1406903 errors:0 dropped:0 overruns:0 frame:0

TX packets:1406903 errors:0 dropped:0 overruns:0 carrier:0

collisions:0 txqueuelen:0

RX bytes:525555766 (501.2 MiB) TX bytes:525555766 (501.2 MiB)

vmnet1 Link encap:Ethernet HWaddr 00:50:56:c0:00:01

inet addr:172.16.38.1 Bcast:172.16.38.255 Mask:255.255.255.0

inet6 addr: fe80::250:56ff:fec0:1/64 Scope:Link

UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1

RX packets:0 errors:0 dropped:0 overruns:0 frame:0

TX packets:5767 errors:0 dropped:0 overruns:0 carrier:0

collisions:0 txqueuelen:1000

RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)

vmnet8 Link encap:Ethernet HWaddr 00:50:56:c0:00:08

inet addr:172.16.204.1 Bcast:172.16.204.255 Mask:255.255.255.0

inet6 addr: fe80::250:56ff:fec0:8/64 Scope:Link

UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1

RX packets:0 errors:0 dropped:0 overruns:0 frame:0

TX packets:5767 errors:0 dropped:0 overruns:0 carrier:0

collisions:0 txqueuelen:1000

RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)

and the network is bridged if it matters.

If there's anything else I could provide that would help do let me know, I'd be happy to do so. I'm quite stumped and I just find it awfully odd that Linux sees vmware eating my whole CPU and Windows sees no particular spike in usage.

So, any ideas would be greatly appreciated Smiley Happy

0 Kudos
2 Replies
O__J_
Contributor
Contributor

I had a similat problem problem on a SMP machine,any "CPU hungry" progam caused the VMplayer to use 100% of the host CPU.

The virtual machine was configured to use more than one CPU (the virtual machine was created on a SMP machine).

In this case, the player emulates multiple CPUs, while using all the CPU of the host. And guess what ? This is bad for the kernel to do twice the job Smiley Wink

The solution was to modify the configuration (using vmware workstation) and to use 1 cpu only for the virtual machine.

kraada
Contributor
Contributor

Using OJ's suggestion I did a little digging.

In the vmx file I set "numvcpus = 2" instead of the 1 it was previously set to, and restarted VMPlayer. It now functions properly, not eating up a ton of CPU for no apparent reason. I'm not sure why "numvcpus = 1" is broken such as it is, but I'm glad it's fixed now.

0 Kudos