VMware Workstation Pro 17.5 on Win 11 Pro - performance.

VMware Workstation Pro 17.5 on Win 11 Pro - performance.

Author
Discussion

Goaty Bill 2

Original Poster:

3,478 posts

125 months

Saturday 24th February
quotequote all
As per the title; I am running an Oracle database within Workstation Pro 17.5 on Windows 11 Pro.
The performance isn't terrible during processing but I think it should be better.

I have allocated 32GB (of 192 system RAM) to the Oracle VM.
The PC has dual Xeon Gold 5220 2.2 GHz total 36 cores, that will run as fast as 2.75+ GHz (according to task manager)
Disk is SSD of course.

I have a program that I run once per week that takes around 35 minutes to complete.
I have currently allocated two processors to the VM and it only uses about 5% of the physical CPUs during processing.
Allocating more (up to 16) or fewer processor cores to the VM has little to no effect on processing speed.
The Oracle SGA Target is 10GB.

I am expecting a resounding 'NO' but, is there any way to 'force' VMware to use more CPU power?

To be fair, regular queries against the EBS database tables/views will generally complete much more quickly than on any client/customer system I have used for comparison but just just looking at it using a pitiful 5% of CPU for over half an hour makes me think this could/should be a lot faster.




xeny

4,587 posts

84 months

Saturday 24th February
quotequote all
What would happen if you ran the program on the bare hardware?

I suspect it would still only use ~5%. i.e. the problem may not be VMware but that the program you are using isn't very good at using multiple cores in parallel (which to be fair isn't generally a trivial exercise).

indigochim

1,627 posts

136 months

Saturday 24th February
quotequote all
When you say it's using 5% cpu is that of the host or within the VM itself? I'm no expert in this but the 2 cpus you've given it 2 cores of your 22 can you not give it more or is that restricted by licensing? If so could you configure your vm with 2 sockets and multiple cores each?

vaud

51,791 posts

161 months

Saturday 24th February
quotequote all
Are you running on Oracle Database Free?

https://docs.oracle.com/en/database/oracle/oracle-...

Oracle Database Free CPU Limitations
Oracle Database Free limits itself automatically to two cores for processing. For example, on a computer with 2 dual-core CPUs (four cores), if a large number of database clients try to simultaneously run CPU-intensive queries, then Oracle Database Free will process the queries at the rate of just two cores even if more CPU capacity is available.

Goaty Bill 2

Original Poster:

3,478 posts

125 months

Saturday 24th February
quotequote all
xeny said:
What would happen if you ran the program on the bare hardware?

I suspect it would still only use ~5%. i.e. the problem may not be VMware but that the program you are using isn't very good at using multiple cores in parallel (which to be fair isn't generally a trivial exercise).
I was previously running this same (copied over) database/VM on another PC.
32GB system memory, single 2.7MHz Intel CPU.
The program took about 5 minutes longer using around 70% CPU (as best as I can recall).
I allocated 8GB of system memory to the VM. The Oracle database had a much smaller SGA.


Goaty Bill 2

Original Poster:

3,478 posts

125 months

Saturday 24th February
quotequote all
indigochim said:
When you say it's using 5% cpu is that of the host or within the VM itself? I'm no expert in this but the 2 cpus you've given it 2 cores of your 22 can you not give it more or is that restricted by licensing? If so could you configure your vm with 2 sockets and multiple cores each?
I was referring to host system CPU at 5%.
The Oracle VM is Oracle Linux.

bitchstewie

54,436 posts

216 months

Saturday 24th February
quotequote all
What do you see if you look in task manager in the VM?

Is the load distributed across all the cores or is it just one core maxed out?

Goaty Bill 2

Original Poster:

3,478 posts

125 months

Saturday 24th February
quotequote all
vaud said:
Are you running on Oracle Database Free?

https://docs.oracle.com/en/database/oracle/oracle-...

Oracle Database Free CPU Limitations
Oracle Database Free limits itself automatically to two cores for processing. For example, on a computer with 2 dual-core CPUs (four cores), if a large number of database clients try to simultaneously run CPU-intensive queries, then Oracle Database Free will process the queries at the rate of just two cores even if more CPU capacity is available.
It's a full Oracle E-Business Suite system. Oracle Enterprise edition. Two Tier (separate VMs) installation.


Goaty Bill 2

Original Poster:

3,478 posts

125 months

Saturday 24th February
quotequote all
bhstewie said:
What do you see if you look in task manager in the VM?

Is the load distributed across all the cores or is it just one core maxed out?
Good idea but there is no GUI on the Oracle Linux.

bitchstewie

54,436 posts

216 months

Saturday 24th February
quotequote all
Ah I missed that part.

I would expect there will be a "top" type tool that can show you how the load is split across each CPU that the VM sees.

Goaty Bill 2

Original Poster:

3,478 posts

125 months

Saturday 24th February
quotequote all
bhstewie said:
Ah I missed that part.

I would expect there will be a "top" type tool that can show you how the load is split across each CPU that the VM sees.
Whilst running a query that uses a moderate amount of resource;

top -u oracle



51mes

1,512 posts

206 months

Saturday 24th February
quotequote all
Have you looked at the power settings on the PC, change the profile to max performance from balanced....

S

bitchstewie

54,436 posts

216 months

Saturday 24th February
quotequote all
I'm sure someone who knows Linux better than I do will be along soon but try pressing "1" whilst in top.

That should list usage per CPU.

Goaty Bill 2

Original Poster:

3,478 posts

125 months

Saturday 24th February
quotequote all
bhstewie said:
I'm sure someone who knows Linux better than I do will be along soon but try pressing "1" whilst in top.

That should list usage per CPU.
Good one;



Which would seem to explain, in part at least, why adding CPUs isn't helping.
I would suggest that as it's a single query run by a single user it should come as no surprise that only 0ne CPU is being used.



bitchstewie

54,436 posts

216 months

Saturday 24th February
quotequote all
I don't know Oracle but trust me I've had plenty of "fun" conversations with developers about why adding CPU cores really won't help their application run better smile

Look into what the app is doing and whether that can be tweaked or changed.

Goaty Bill 2

Original Poster:

3,478 posts

125 months

Saturday 24th February
quotequote all
bhstewie said:
I don't know Oracle but trust me I've had plenty of "fun" conversations with developers about why adding CPU cores really won't help their application run better smile

Look into what the app is doing and whether that can be tweaked or changed.
I can well understand that adding CPUs won't help a single application/program.
This PC isn't appreciably 'faster' than the previous single CPU system. What it does do however is allow much more to be running at one time, though it can get pretty memory hungry at times.
As an example; I can do a substantial video render while processing in Oracle (VM) and play Quake3 at the same time with no noticeable affect on game performance. Simply doing the first two tasks on the previous PC would have slowed everything down to a crawl.