Greedy/badly behaved process

Started by debs3759, March 28, 2009, 07:58:55 PM

Previous topic - Next topic

debs3759

Hi all

I hope I have come to the right place to post this.

I have an app on my system that will not give up the processor when told to. I run BOINC (an app that controls various Distributed Computing projects). One of the projects is supposed to run in the background, but actually uses up to 100% of one CPU core. Normally, if a project in BOINC is suspended, it stops running and hence uses 0% of the CPU, but in this case if it is suspended, it runs in the background, but when the task completes it does not communicate with the project server or get new work.

I bought a copy of Process Lasso in order to force this application to use a minimal amount of the  CPU, but it still uses 100% of one core when running as idle.

Is there any way to set it so that the application can only use 1% or less of the CPU (however many instances are running)? I can't find a setting that does that.

Note that I need other apps which run in BOINC to be able to use 100% of a core when available (in this case the system is dual-core).

I hope I have explained the problem clearly enough for someone to understand :)

Jeremy Collake

Process Lasso doesn't support restricting a process to consuming only a specified percentage of available CPU cycles. This is because it is not normally desirable. Even in your case, since the BOINC task is running in the Idle priority class, its effect on other processes running at higher priority classes should be minimal. Of course, this does impede the ability to quickly see how much of your CPU cycles are being used (i.e. total CPU usage %), since any unused cycles are going to go to that task.

I've had requests for this feature before, and am still considering adding it, though I worry about misuse. Even if I were to add it, there may be complications differentiating the problematic BOINC task from other BOINC tasks.

In your case, it may be somewhat beneficial to further increase the difference in priority class between other processes and the BOINC processes. This could be done by using the foreground boosting options of Process Lasso (Options / Foreground boost /). You could enable both of them, thread priority and process priority class boosting. I am not sure that you will see any real-world effect from increasing the difference, but any interference from the BOINC task that does 'bleed through' should be further mitigated by this.

Of course, the best solution to your problem will be to get the problem fixed with the BOINC task. You should notify the developers, if you haven't already.

Sorry I couldn't be of more help.

Software Engineer. Bitsum LLC.

debs3759

The developers of the specific app (FreeHAL, that app name changes with every version) have been told, and sometimes they fix it, then another bug fix means the original bug comes back. It's very annoying.

Each BOINC task is identified by a different app name (eg Milky Way has one app, Seti has another, Prime Grid yet another, etc.), so limiting different apps to specific percentages would be very useful

Some apps have a different problem. I have had to reduce my overclock to run some apps, and again being able to set a maximum CPU usage would be useful.

Unfortunately, as I have been unable to reduce the CPU usage of FreeHAL, which is supposed to use minimal CPU but doesn't, I paid an amount that most find minimal but I find expensive(compared to what I can afford) for an app that do snot limit the CUP usage of the app I want to restrict :(

As I have said, the best solution for me would be to have an app like this one which is capable of restricting the priorities (but preferably without slowing the computer, which computer lasso did until I uninstalled it). The best solution is not just to contact the developers of the BOINC app,which I do anyway,it is to be able somehow to restrict the usage of any app (including those which cause my PC to overheat).

Jeremy Collake

#3
I will refund your order of Process Lasso. I always offer refunds to anyone who isn't satisfied. I am sorry it wasn't more helpful to you. Please keep in mind that Process Lasso can't solve all problems, and though most people find it very useful, in some cases it just doesn't do what the user had hoped it would.

I tell you what, I will definitely give the concept of restricting CPU utilization of processes another look. It seems that it could be more useful to some people than I originally thought. It is true that this feature would help to keep your CPU running cooler by spacing out the workload. Of course, you really shouldn't overclock to a level at which your PC isn't 100% stable running at 100% capacity, indefinitely. But, that's your choice ;)

I still worry about its misuse, but maybe I can reduce that with proper user education. One of the other problems is that even if you prevent a process from using the CPU, its tasks still have to get done at some point, so you are simply spreading out the work-load.. slowing it down, not in any way magically reducing total CPU cycles consumed. In your case, it would work though, since the background task isn't something that really must be completed.
Software Engineer. Bitsum LLC.

debs3759

Thank you Jeremy.

I had not expected a refund, but it is gratefully received.

I will keep checking in, and if that feature (to set maximum usage for a process) is added,I will check out the free version, and if it works will buy it again. I do, naturally, appreciate people like yourself who put the time and energy into useful applications like this one :)

Jeremy Collake

I just wanted to let you know that I am almost done implementing this new feature. It will appear in the next beta series (v3.55). I think this next beta will make many users who want such a feature happier. I especially understand the desire for this feature by those who use laptops or, like you, want to reduce heat dissipation by limiting CPU availability to non-critical background processes. If you'd like to beta test the new capability, please join in.

It will take a few beta releases to get it all perfected.. but, I may even have a beta out in just a few hours with this ability ;).
Software Engineer. Bitsum LLC.

Jeremy Collake

Public alpha version with this feature now released. I may add new throttle levels before the final, as there are currently only 3 to choose from. However, there this new feature is ;)
Software Engineer. Bitsum LLC.