Execution cap 100% incorrectly slower than max speed.
Execution cap 100% incorrectly slower than max speed.
Hello There,
I hope that some support persons are monitoring this forum and will be able to suggest a solution to the problem, or arrange implementation of a fix.
I have the latest VBox running on an overclocked i7 3770K CPU. There is something strange about the reporting of the frequency in Windows (host). In computer properties window it always shows 3,5 Ghz, while in fact the CPU by default has up to 3,9 Ghz speed in 'turbo' mode. Mine is running at a constant frequency of 4,3 Ghz.
And now the problem. In the settings of each virtual machine there is execution cap value that can be configured between 1 and 100%. The problem is that 100% is always taking the default 3,5 Ghz value (probably reported incorrectly by Windows host), instead of the real value of 4,3 Ghz. The result is that my guest machines are running at maximum of 3,47 Ghz, discarding the full potential of my hardware. This I have verified repeatedly using Aida64 software.
I would like to request a check box option in VirtualBox settings to be able to disable the execution cap completely, so that my guest machines can run at maximum speed, or alternatively to make sure that 100% setting has the same effect as described.
(Not sure what forum section is meant for bug reports, so I repeat this post here).
I hope that some support persons are monitoring this forum and will be able to suggest a solution to the problem, or arrange implementation of a fix.
I have the latest VBox running on an overclocked i7 3770K CPU. There is something strange about the reporting of the frequency in Windows (host). In computer properties window it always shows 3,5 Ghz, while in fact the CPU by default has up to 3,9 Ghz speed in 'turbo' mode. Mine is running at a constant frequency of 4,3 Ghz.
And now the problem. In the settings of each virtual machine there is execution cap value that can be configured between 1 and 100%. The problem is that 100% is always taking the default 3,5 Ghz value (probably reported incorrectly by Windows host), instead of the real value of 4,3 Ghz. The result is that my guest machines are running at maximum of 3,47 Ghz, discarding the full potential of my hardware. This I have verified repeatedly using Aida64 software.
I would like to request a check box option in VirtualBox settings to be able to disable the execution cap completely, so that my guest machines can run at maximum speed, or alternatively to make sure that 100% setting has the same effect as described.
(Not sure what forum section is meant for bug reports, so I repeat this post here).
-
mpack
- Site Moderator
- Posts: 39134
- Joined: 4. Sep 2008, 17:09
- Primary OS: MS Windows 10
- VBox Version: VirtualBox+Oracle ExtPack
- Guest OSses: Mostly XP
Re: Execution cap 100% incorrectly slower than max speed.
Cross posting is not allowed on these forums. Pick one forum, and if you get it wrong then the mods can move it. Since your question is about how a Windows host reports CPU cababilities, I believe here is the correct place.
I have deleted your cross post in the "Suggestions" forum.
I have deleted your cross post in the "Suggestions" forum.
Re: Execution cap 100% incorrectly slower than max speed.
Thank you for assistance. Any suggestions on how to resolve the issue?
-
noteirak
- Site Moderator
- Posts: 5231
- Joined: 13. Jan 2012, 11:14
- Primary OS: Debian other
- VBox Version: OSE Debian
- Guest OSses: Debian, Win 2k8, Win 7
- Contact:
Re: Execution cap 100% incorrectly slower than max speed.
The issue is not a Virtualbox issue. Your host does not report or see the value correctly. Nothing can be done about that from a Virtualbox point of view. Virtualbox cannot guest values, it has to use the one reported by the OS.
I suggest you check the BIOS or your host configuration...
what you want here is a "fix" for a symptom, but you don't want to resolve the sickness. That's going to end well for sure
I suggest you check the BIOS or your host configuration...
what you want here is a "fix" for a symptom, but you don't want to resolve the sickness. That's going to end well for sure
Hyperbox - Virtual Infrastructure Manager - https://apps.kamax.lu/hyperbox/
Manage your VirtualBox infrastructure the free way!
Manage your VirtualBox infrastructure the free way!
Re: Execution cap 100% incorrectly slower than max speed.
I don't quite agree that this is not an issue with VirtualBox. It is. There is no need for VirtualBox to limit the speed to what it thinks is 100%, because as it is currently, what it thinks is incorrect. Instead, it should simply allow to run the guest machine with unlimited speed. That would fix the problem instantly.
I am not sure where the problem is coming from in respect to showing always the default CPU speed in Windows. But if we are now aware of the issue, there is no point in allowing VirtulBox to be limited by it. It would be stupid to discard 20% performance improvement, where implementation would probably take 1 or 2 extra if statements.
I do hope that this post will find it's way to people who actually can do something about the problem.
I am not sure where the problem is coming from in respect to showing always the default CPU speed in Windows. But if we are now aware of the issue, there is no point in allowing VirtulBox to be limited by it. It would be stupid to discard 20% performance improvement, where implementation would probably take 1 or 2 extra if statements.
I do hope that this post will find it's way to people who actually can do something about the problem.
-
Perryg
- Site Moderator
- Posts: 34369
- Joined: 6. Sep 2008, 22:55
- Primary OS: Linux other
- VBox Version: OSE self-compiled
- Guest OSses: *NIX
Re: Execution cap 100% incorrectly slower than max speed.
Think what you are saying. What is 100% of 3.9Ghz and what is 100% of 4.3Ghz?
The reason it is in a percent of the whole is because it does not matter what the value of the whole is it will use 100% of what ever is available.
The reason it is in a percent of the whole is because it does not matter what the value of the whole is it will use 100% of what ever is available.
Re: Execution cap 100% incorrectly slower than max speed.
I thought I explain the issue in enough detail to be easily understandable. The 100% setting is using only 3,47 Ghz out of 4,3 Ghz available on the host. This is 80%, not 100%.
-
mpack
- Site Moderator
- Posts: 39134
- Joined: 4. Sep 2008, 17:09
- Primary OS: MS Windows 10
- VBox Version: VirtualBox+Oracle ExtPack
- Guest OSses: Mostly XP
Re: Execution cap 100% incorrectly slower than max speed.
AFAIK, if the cap is set to 100% then the CPU runs at native speed, whatever that is. I would be interested in knowing how you established otherwise, given that timers are unreliable in a VM, and in any case Windows has a pre-emptive non-realtime kernel, so nothing can use 100% of the CPU.
Re: Execution cap 100% incorrectly slower than max speed.
I concluded that this is the case by using Aida64 software, which can precisely determine the current speed of the CPU.
The Overclock tab shows: "CPU Clock 3353.2 MHz (original: 3500 MHz)"
Also it contains a number of benchmarks. For example the CPU Queen benchmark shows the following results:
Guest OS: 39285
Host OS: 54283
The benchmark from the guest has result of 72% comparing to the host.
I am amazed by the apologetic tone of the comments here, which seems to quickly discard my report. It is the first time I am contacting this community and I would not be wasting my time on writing all this if I was not convinced that the issue is real and hoping that someone is able to fix it.
The Overclock tab shows: "CPU Clock 3353.2 MHz (original: 3500 MHz)"
Also it contains a number of benchmarks. For example the CPU Queen benchmark shows the following results:
Guest OS: 39285
Host OS: 54283
The benchmark from the guest has result of 72% comparing to the host.
I am amazed by the apologetic tone of the comments here, which seems to quickly discard my report. It is the first time I am contacting this community and I would not be wasting my time on writing all this if I was not convinced that the issue is real and hoping that someone is able to fix it.
-
Perryg
- Site Moderator
- Posts: 34369
- Joined: 6. Sep 2008, 22:55
- Primary OS: Linux other
- VBox Version: OSE self-compiled
- Guest OSses: *NIX
Re: Execution cap 100% incorrectly slower than max speed.
I don't know about any apologetic tone, but all I was pointing out is 100% of anything is the MAX regardless of what the value is.
All any virtualizer can use is what it is presented with. You also need to keep in mind that the guest will never be the same as the host (in speed) due to overhead.
However if you want to see for yourself here is a link to the source code source code and if you can prove me wrong I will plead ignorance.
Oh and your test suite is designed to work on metal, not in a virtualizer. They do not work the same virtually and sometimes even report better than the host which is impossible.
All any virtualizer can use is what it is presented with. You also need to keep in mind that the guest will never be the same as the host (in speed) due to overhead.
However if you want to see for yourself here is a link to the source code source code and if you can prove me wrong I will plead ignorance.
Oh and your test suite is designed to work on metal, not in a virtualizer. They do not work the same virtually and sometimes even report better than the host which is impossible.
Re: Execution cap 100% incorrectly slower than max speed.
What is the path to the code in question?
-
Perryg
- Site Moderator
- Posts: 34369
- Joined: 6. Sep 2008, 22:55
- Primary OS: Linux other
- VBox Version: OSE self-compiled
- Guest OSses: *NIX
Re: Execution cap 100% incorrectly slower than max speed.
You can start at http://www.virtualbox.org/svn/vbox/trun ... evices/PC/
Better yet download the source code and use search to locate you questions
http://download.virtualbox.org/virtualb ... .8.tar.bz2
Better yet download the source code and use search to locate you questions
http://download.virtualbox.org/virtualb ... .8.tar.bz2
Re: Execution cap 100% incorrectly slower than max speed.
Is this code also for Windows platform?
-
Perryg
- Site Moderator
- Posts: 34369
- Joined: 6. Sep 2008, 22:55
- Primary OS: Linux other
- VBox Version: OSE self-compiled
- Guest OSses: *NIX
Re: Execution cap 100% incorrectly slower than max speed.
VirtualBox is cross platform so yes same code for Linux, Windows, Mac, Solaris.. Etc
There are separate build instructions for the different builds.
There are separate build instructions for the different builds.
Re: Execution cap 100% incorrectly slower than max speed.
It is impossible to make a conclusion if any bugs are present in such a large codebase after just few minutes. At first glance it does seem like the assumption is that 100% should behave like no cap, e.g. here:
pVM->uCpuExecutionCap = 100; /* default is no cap. */
Have you performed any tests on Windows 7 with Core i7 CPUs that are overclocked ?
Would it be a valid test for me to down clock my CPU to default and run Aida64 benchmark again?
If the results are the same, then this would prove that there is a bug in VirtualBox. Is my assumption valid?
pVM->uCpuExecutionCap = 100; /* default is no cap. */
Have you performed any tests on Windows 7 with Core i7 CPUs that are overclocked ?
Would it be a valid test for me to down clock my CPU to default and run Aida64 benchmark again?
If the results are the same, then this would prove that there is a bug in VirtualBox. Is my assumption valid?