VirtualBox

Opened 9 years ago

Last modified 3 years ago

#13500 new defect

Windows VirtualBox Process Priority support

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

Description

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 (13)

comment:1 by BrianB644, 9 years ago

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 by cridam, 9 years ago

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 by Jacob Klein, 9 years ago

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 by Frank Mehnert, 9 years ago

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 by Jacob Klein, 9 years ago

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 by jgmgmgm, 9 years ago

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 by jgmgmgm, 9 years ago

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 by bojanpotocnik, 8 years ago

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 8 years ago by bojanpotocnik (previous) (diff)

comment:9 by siro, 7 years ago

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

comment:10 by trueunited, 7 years ago

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.

in reply to:  10 comment:11 by Socratis, 7 years ago

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 7 years ago by Socratis (previous) (diff)

comment:12 by Klaus Espenlaub, 6 years ago

The API stubs for implementing this functionality (including the necessary XML settings handling) have been added with VirtualBox 5.0 (see r56788), but so far no one has found time to implement the necessary functionality to actually put this in place on VM process startup. Any volunteers?

comment:13 by BrianB644a, 3 years ago

I am *still* surprised this issue isn't fully resolved.

I was having issues and wishing I could test lowering the priority of the guest and re-found this post after 6 years. At the moment, I am usually working in a Linux Desktop environment as a guest VM on my Windows host and remotely connecting to network resources for my work. My workload in the guest is light, but interrupts to the host are frequent.

The workaround suggested by "jgmgmgm" to adjust the priority of the VBoxSVC process before starting the guest VM works for me. The desktop hosted in the guest is noticeably more responsive. I wish I had seen the post earlier.

Note: See TracTickets for help on using tickets.

© 2023 Oracle
ContactPrivacy policyTerms of Use