Ticket #13500 (new defect)

Opened 3 years ago

Last modified 3 months ago

Windows VirtualBox Process Priority support

Reported by: Jacob Klein Owned by:
Priority: major Component: VM control
Version: VirtualBox 4.3.18 Keywords: process priority security
Cc: Jacob_W_Klein@… Guest type: all
Host type: Windows


BOINC runs CPU-instensive tasks (sometimes VirtualBox CPU-intensive tasks), typically at idle priority, but sometimes at below normal priority. The intent is to not interfere with the user's computing experience.

Before the hardened security that was added to VirtualBox for Windows (using VirtualBox 4.3.12 or prior), BOINC could easily manage/set/increase/decrease the process priorities as needed.

After the hardened security was added to VirtualBox for Windows (using VirtualBox 4.3.14+), the process priorities can no-longer be controlled. They run at Normal, with no way to change them (that I know of). This ends up degrading the user experience. I'm considering this a defect, since the hardened security changes broke something that was previously working great.

Please add some way to control the priorities of the VM processes that get instantiated -- Preferably available in the VirtualBox Manager UI, but for BOINC's purposes, VBoxManage command line parameters would work too I believe.

Thanks, Jacob Klein

Change History

comment:1 Changed 2 years ago by BrianB644

I am surprised that others haven't commented! I also find this to be an issue.

I sometimes run "Big Data" jobs and demonstrate "Big Data" software on my local system using VirtualBox. Last year ... when I could run VirtualBox at "Below Normal" priority ... I could configure my "HPCC Systems" workload to access 100% of my available resources and let it churn away in the background, sometimes pegging CPU resources for hours at a time. Other than the cooling fan running ... foreground operations were unaffected. When VirtualBox runs at "Normal" priority ... resources must be "reserved" or the system is barely usable. Even when resources are reserved, foreground operations are visibly affected. CPU resources are left unused, host disk I/O is affected, and guest system tasks take longer to execute.

As a result, VirtualBox no longer has the ability to fully use my local Windows resources and I use VirtualBox less often and for different purposes.

comment:2 Changed 23 months ago by cridam

What about this issue that looks as a serious regression ? On W7, changing priority of VirtualBox.exe processes leads to "deny access". When changing the priority of VBoxSVC.exe, there is no impact of the process "child" . They always run at Normal.

comment:3 Changed 23 months ago by Jacob Klein

Are you sure you tested using a VirtualBox 4.3.x version that was 4.3.12 or prior? BOINC was definitely able to adjust the process priorities of the VMs, using those versions.

VirtualBox 4.3.14, with it's hardened security, prevented BOINC from doing so, and the issue persists today.

comment:4 Changed 23 months ago by frank

It's not possible to change the priority with VirtualBox 4.3.28. This still needs to be fixed, we are aware of this problem. In general it's never a good idea to decrease the priority of a VM process because this can cause serious timing issues in the guest.

comment:5 Changed 23 months ago by Jacob Klein

Thank you, frank, for chiming in. And thanks for saying that you are aware, and that it still needs to be fixed.

Even if BOINC decides to stop adjusting the priorities (which I hope isn't the case, but it's up to Rom), it's still a feature that was working before, and doesn't work now. Which is why I felt obligated to create the ticket in the first place.

If you want to adjust the priority of the ticket, I'd understand, so long as no hardened security prevents it. See what I did there? :) Have a good weekend!

comment:6 Changed 21 months ago by jgmgmgm

This is a serious problem for me. I have tasks running constantly in VBox and my desktop is now unusable.

We're now looking into other solutions for desktop virtualisation as vbox is no longer viable.

comment:7 Changed 21 months ago by jgmgmgm

I suggest this work around at least for gui users.

When you first start virtualbox with no running VMs, set the priority of VBoxSVC to below normal. After you do this any sub process will be created with the same priority.

comment:8 Changed 17 months ago by bojanpotocnik

I also crave this feature, but for opposite purpose - I use virtual machines for testing (which can corrupt OS) and usually I set priority to High or Realtime to have better (normal) user experience using VM. Now, when I cannot change priority, VM are significantly slower which sometimes gets quite frustrating. Version 5.0.6.

Last edited 17 months ago by bojanpotocnik (previous) (diff)

comment:9 Changed 6 months ago by siro

Process priority should be a VM setting. I just can't understand why VMWare does it, but VirtualBox does not.

comment:10 follow-up: ↓ 11 Changed 3 months ago by trueunited

Sign me up.

This is one of the MOST important features! And it's been years.
VirtualBox got better - years ago if I gave it two or more cores, it froze up my entire system.

Now it's a bit better, but still, if the guest has some runaway process, it will eat up my entire PC... while it would not have to. Windows, Linux, OS X, they all have their schedulers. Please, add a simple support to these. It should not be hard to implement either.

I really don't know why Oracle choose to ignore this thing for so long.

comment:11 in reply to: ↑ 10 Changed 3 months ago by socratis

Replying to trueunited:

if the guest has some runaway process, it will eat up my entire PC

Have you noticed the CPU execution cap? VM Settings » System » Processor » Execution Cap. Also make sure not to give all your CPUs to the guest. And I don't mean logical cores, I mean physical cores, i.e. do not count the hyperthreaded ones.

I really don't know why Oracle choose to ignore this thing for so long.

Because the people that are paying for VirtualBox have other priorities?

Last edited 3 months ago by socratis (previous) (diff)
Note: See TracTickets for help on using tickets.
ContactPrivacy policyTerms of Use