Jump to content

Hi guys,

 

I'm sorry if the question seems a bit lame, but I thought that there's nothing to loose :)

 

My specs are:

Intel Core i7 4790k (4C/8T) @ 4.6GHz

32GB Ram

GTX 1070 with some OC

 

This rig is running VMware ESXi with 1 Windows gaming instance with the following specs:

6vCPUS (6 cores)

14GB Ram

GTX 1070 Pass through to this instance.

 

I mainly play CoD Modern Warfare, and I'm getting around 80-90 FPS on average (~120 MAX) and I'm clearly CPU capped, as it's around ~95% load during game play.

 

I tried to increase vCPUS to 7, but, as expected it actually hurt the performance, as it leaves only 1 thread available to the host and the rest of the instances (3 CentOS).

 

So my question is, does anybody know any genius way to magically increase CPU performance for windows instance in VMware?

 

Thanks! 

Link to comment
https://linustechtips.com/topic/1153745-improve-cpu-performance-in-vmware-esxi/
Share on other sites

Link to post
Share on other sites

7 vCPUs likely hurts due to unequal CPU distribution. Your processor has 4 physical cores, each has two threads for a total of eight threads. The most optimal way would be to give the whole core to the VM (so both threads). If you give only single thread, that core will be switching constantly between two different workloads (fetching different data into cache) resulting in a much worse performance.

 

As for running the game on 6 vCPUs - not sure, I haven't looked into gaming VM on ESXi. I know unRAID allows choosing which specific cores you want to assign to a VM to prevent overlap, however ESXi does not allow you to do that - it does it on it's own to maximize core usage/efficieny. Could be the scheduler not working as optimally, but could also be something else.

 

To start with - Is that game supposed to be running better with that CPU? Have you tried running Windows and the game directly on the hardware (without hypervisor)?

HAL9000: AMD Ryzen 9 3900x | Noctua NH-D15 chromax.black | 32 GB Corsair Vengeance LPX DDR4 3200 MHz | Asus X570 Prime Pro | ASUS TUF 3080 Ti | 1 TB Samsung 970 Evo Plus + 1 TB Crucial MX500 + 6 TB WD RED | Corsair HX1000 | be quiet Pure Base 500DX | LG 34UM95 34" 3440x1440

Hydrogen server: Intel i3-10100 | Cryorig M9i | 64 GB Crucial Ballistix 3200MHz DDR4 | Gigabyte B560M-DS3H | 33 TB of storage | Fractal Design Define R5 | unRAID 6.9.2

Carbon server: Fujitsu PRIMERGY RX100 S7p | Xeon E3-1230 v2 | 16 GB DDR3 ECC | 60 GB Corsair SSD & 250 GB Samsung 850 Pro | Intel i340-T4 | ESXi 6.5.1

Big Mac cluster: 2x Raspberry Pi 2 Model B | 1x Raspberry Pi 3 Model B | 2x Raspberry Pi 3 Model B+

Link to post
Share on other sites

That's a great point there.

 

I'm not sure, but I think that ESXi has the ability you talked about, take a look at the help prompt in the following screenshot:

image.png.866a2e1c7e4090f3d634c4280d4d4439.png

 

Based on your theory I should enter the value "0-5" here, Am I wrong?

 

Regarding the comparison, you are totally right, I should check that. However, I won't be able to check it directly on my system as it will result in a long downtime which I can't afford. But I will totally check for benchmarks online :)

 

Thanks!

Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×