I52500k usage and virtual machines

Andyk5

[H]ard|Gawd
Joined
Jul 27, 2011
Messages
1,154
I own a laptop which has an earlier version of the I7 cpu's ( an i7 Q720 to be exact)Now on my desktop I just upgraded to a I52500k. When I run a virtual machine on my laptop vmware uses negligible amount of cpu. After it starts it actually does not consume more than %5 of available cpu. On the other hand my I52500k is huffing and puffing at %30 and if I have some browser windows going I am showing a cpu usage of %60. I never even saw that with my 2 year old laptop.
Is this the difference between an I7 and I5 or is it something else?

Edit: I am also using the cpu as a video card, which is something that I am not doing on the laptop, can this effect the performance? Will I be better off with an I72600k?
 
Last edited:
I own a laptop which has an earlier version of the I7 cpu's ( an i7 Q720 to be exact)Now on my desktop I just upgraded to a I52500k. When I run a virtual machine on my laptop vmware uses negligible amount of cpu. After it starts it actually does not consume more than %5 of available cpu. On the other hand my I52500k is huffing and puffing at %30 and if I have some browser windows going I am showing a cpu usage of %60. I never even saw that with my 2 year old laptop.
Is this the difference betrween an I7 and I5 or is it something else?

Is there a difference in memory loadout, VM configuration, or even software version?

If you have version 8 on the laptop and version 7 or earlier on the desktop, that could be part of the issue. Also, VMware is not as RAM-efficient as VirtualBox, in terms of low-memory guests (2 GB or less) or low-memory hosts, for that matter (however, VMware is better when greater than half the host memory is dedicated to a guest than VirtualBox - however, in such a condition, VMware does get rather swap-happy).

Lastly, if I'm not mistaken, even the earlier first-generation i7s used in portables supports HTT (which VMware will utilize), however, the i5-K, unlike the i7-k doesn't support this feature.
 
It is the same exact virtual machine. I am also wondering if hyperthreading is making such a huge difference when it comes to virtual machines since my laptop has it and desktop does not. I can run 3 virtual machines on my laptop at the same time and I will only be bottlenecked by the 6gig ram in the machine. I doubt I can run 2 on my desktop and still have it functional for regular desktop stuff.
If this is the case, I am going to return the I5 and get the I7 for sure, for $90 this would be a huge upgrade.
 
It is the same exact virtual machine. I am also wondering if hyperthreading is making such a huge difference when it comes to virtual machines since my laptop has it and desktop does not. I can run 3 virtual machines on my laptop at the same time and I will only be bottlenecked by the 6gig ram in the machine. I doubt I can run 2 on my desktop and still have it functional for regular desktop stuff.
If this is the case, I am going to return the I5 and get the I7 for sure, for $90 this would be a huge upgrade.

I did mention that VMware, unlike VirtualBox, supports HTT (that is, in fact, the only advantage VMware has for general virtualization use) - for that reason, I would recommend i7-K.
 
Yes you did. So hyperthreading is that big of a deal for virtual machines? While you are on it, can you explain what hyperthreding really does. I read about it but did not understand it properly. It has something to do with assign multiple chores to different cores or something?
 
Yes you did. So hyperthreading is that big of a deal for virtual machines? While you are on it, can you explain what hyperthreding really does. I read about it but did not understand it properly. It has something to do with assign multiple chores to different cores or something?

It is for VMware in particular (but not for VirtualBox or VM software based on it).

Hyper-Thread Technology is basically a virtual (not real) processor core per real core, and dates back to the bad old days of the Netburst Architecture (specifically, the Pentium 4 Northwood-B/C/E and Prescott). HTT enables as many virtual CPU cores as real cores (hence i3-2100, which supports HTT, being 2C/4T; ditto i7-2600K being 4C/8T - however, i5-2500K, not supporting HTT, is 4C/4T).

However, HTT has two drawbacks - first, a virtualized core is not as fast as a real core even in software that supports it (and not much in the way of software does); second, virtualized CPU cores drag down performance of real CPU cores (like weights on a race-horse). Unless you MUST run VMware (licensing or niche-usage reasons), I would avoid it and go with VirtualBox (and i5-2500K) instead for virtualization (currently), or even consider Windows 8 and Hyper-V in the future.
 
If the VM is 32-bit, do you have VT-x enabled in the BIOS (sometimes called "Virtualization Technology" in BIOS) on the i5?

If it is a 64-bit VM, then this isn't a relevant question as you must already have VT-x turned on if using VMWare.
 
That's kinda odd.

I mean, I know the 2500k isnt a perfect CPU for VMs, but I'm running Workstation 8 with 4x Server 2008 R2 VMs, two as domain controllers, one running IIS, and one SQL and I'm hitting 8gb RAM reserved, and rarely go beyond 5% CPU utilization.

Full config:
i5 2500k @ 4.5ghz
16gb RAM
Asus P8Z68-V
128gb SSD for OS, VMs hosted on a 7200rpm RAID1

VMs:
2008 R2 (x64)
1gb allocated to each, SQL gets 2gb
2x CPU for each VM
 
I know for VirtualBox, the software doesn't even support VT-d or AMD-IO yet. That's just for raw device pass-through I think, not what the average home user is looking to do generally. It's what server operators want, which is why they twiddled with that bit on the K series.

Does VMware have an equivalent to VirtualBox "Guest Additions" that you might have missed?
 
not sure how much this matters, but the laptop CPU supports VT-D and the i5 2500k doesn't.

VT-d is typically a non-issue for guests (unless they are niche guests) as VT-d (Virtualization Technology with Directed Input/Output) is for guest support of hardware unsupported (but present/installed physically) on the host (such as dongles). Hyper-V is the only virtualization technology other than VMware itself to leverage with VT-d or AMD-V, and even Hyper-V doesn't require it; further, the VIOMMU calls cause significant drag on the *host* compared to straight VT-x or Hyper-V sans VT-d. Since I don't need VT-d, and I don't play in hte virtualization niche that requires it, either Hyper-V (supported by 2008 R2 or Windows Developer Preview today, or Windows 8/Windows 8 Server in the future) or VT-x (suported by Windows 7/Virtual Box today) do the job just fine, TYVM.
 
However, HTT has two drawbacks - first, a virtualized core is not as fast as a real core even in software that supports it (and not much in the way of software does);

How would a multithreaded process know the difference between a physical core and a logical core? Any software that has the ability to spawn and execute multiple threads can access and utilize the virtual cores as if they were real cores because the hyperthreading process is transparent to the OS. Multithreaded software does not have to be coded specifically to take advantage of hyperthreading.

EDIT:

Wiki:

This technology is transparent to operating systems and programs. The minimum that is required to take advantage of hyper-threading is symmetric multiprocessing (SMP) support in the operating system, as the logical processors appear as standard separate processors.
 
Last edited:
How would a multithreaded process know the difference between a physical core and a logical core? Any software that has the ability to spawn and execute multiple threads can access and utilize the virtual cores as if they were real cores because the hyperthreading process is transparent to the OS. Multithreaded software does not have to be coded specifically to take advantage of hyperthreading.

Well, the OS can know/understand the physical lay of the real cpu hw, and expose that information to applications. Applications can set affinity to core IDs, etc. Right, the OS should schedule the threads sanely by default -- you don't want applications to need to attempt to schedule themselves to particular cpu resources.
 
Back
Top