eFMer - BoincTasks and TThrottle forum

Other projects => Priority => Topic started by: fred on December 18, 2009, 06:33:45 PM

Title: eFMer Priority
Post by: fred on December 18, 2009, 06:33:45 PM
Priority is a TThrottle spin-off.

Before version 1.73, this was an integral part of TThrottle, as the cuda tab. Because this feature didn't quite belong in the TThrottle program, I removed it.
Priority is quite similar, and has only one purpose, the modification of the priority of a list of processes (programs) and all of its threads.

Program / Process is where you put in the complete name of the program. The name will match any running program, that has this name in it.
Press v Add v to put the program in the list.

Below the list is a priority selection, use high priorities with extreme care. Set high may cause system instabilities.

Every (refresh rate) seconds, the computer is scanned, for the running processes that are in the list.
A setting of 10-20 should be ideal.

There is a graph, that can give you some more information.

http://efmer.eu/download/boinc/priority/Priority_1_2.zip (http://efmer.eu/download/boinc/priority/Priority_1_2.zip) Version 1.2

V 1.2:

Added: Idle and Lowest thread priority.
Fixed: The about box wasn't shown.
Title: Re: eFMer Priority
Post by: Beyond on October 04, 2010, 06:44:27 PM
I've been using this lately and it works great for tweaking the priorities of various projects.  A problem I'm having though is that if I try to set projects to different priorities they all change at once to the last one set.  For instance, if I set project 1 to "Above" then set Project 2 to "Below", both will change to "Below".  If I then highlight Project 1 and then select "Above", both change to "Above".  Am I doing something wrong?
Title: Re: eFMer Priority
Post by: fred on October 05, 2010, 08:20:33 AM
Quote from: Beyond on October 04, 2010, 06:44:27 PM
I've been using this lately and it works great for tweaking the priorities of various projects.  A problem I'm having though is that if I try to set projects to different priorities they all change at once to the last one set.  For instance, if I set project 1 to "Above" then set Project 2 to "Below", both will change to "Below".  If I then highlight Project 1 and then select "Above", both change to "Above".  Am I doing something wrong?
There is no way to set priorities of different projects as far as I know.
You can rename the exe and run the program twice and add the project exe name more explicit.
Title: Re: eFMer Priority
Post by: Beyond on October 05, 2010, 05:50:19 PM
Quote from: fred on October 05, 2010, 08:20:33 AM
Quote from: Beyond on October 04, 2010, 06:44:27 PM
I've been using this lately and it works great for tweaking the priorities of various projects.  A problem I'm having though is that if I try to set projects to different priorities they all change at once to the last one set.  For instance, if I set project 1 to "Above" then set Project 2 to "Below", both will change to "Below".  If I then highlight Project 1 and then select "Above", both change to "Above".  Am I doing something wrong?
There is no way to set priorities of different projects as far as I know.
You can rename the exe and run the program twice and add the project exe name more explicit.
Named the second exe to Priority64-2.exe and it worked just fine.  One project is running at "Above" and the other at "Below".  Thanks for the great suggestion  :)
Title: Re: eFMer Priority
Post by: Terror Australis on January 28, 2011, 08:10:22 AM
Hi Fred
As per this thread on the SAH forums,
http://setiathome.berkeley.edu/forum_thread.php?id=62978 (http://setiathome.berkeley.edu/forum_thread.php?id=62978)

I tried to use Priority to control the CUDA exe and VMWare Player. As per your advice above I ran 2 instances of Priority, one for each program. I set the CUDA exe (Lunatics x32f) variously to Normal, Above and High and for VMWare I tried Normal and Below.

Whatever combinations of settings I use on the 2 running instances of Priority, I still run into the problem that when VMWare is maximised it grabs all the CPU and leaves CUDA with nothing. It stays like this till I go into Task Manager and manually set the priority back to "Low".

When VMWare is running minimised or only in a partial window the system works as I want, it's only when fully maximised that the priority of the VM is raised back to "Normal". VMWare seems to be able to change it's pririty at will

System is Q9650 + 2 x GTX285's, 4GB Mem, Win XP-Pro 32, VMWare Player V3.00, BOINC V6.10.56 + Lunatics X32f.

Regards
T.A.
Title: Re: eFMer Priority
Post by: Pepo on January 28, 2011, 09:59:00 AM
Quote from: Terror Australis on January 28, 2011, 08:10:22 AM
[...] I set the CUDA exe (Lunatics x32f) variously to Normal, Above and High and for VMWare I tried Normal and Below.

Whatever combinations of settings I use on the 2 running instances of Priority, I still run into the problem that when VMWare is maximised it grabs all the CPU and leaves CUDA with nothing. It stays like this till I go into Task Manager and manually set the priority back to "Low".

When VMWare is running minimised or only in a partial window the system works as I want, it's only when fully maximised that the priority of the VM is raised back to "Normal". VMWare seems to be able to change it's pririty at will
I remember that for a virtual machine, running under VMware, you could set its priority separately for background and foreground state (I think that it did not distinguish between a topmost and full-screen window).

Try to set it to "Low" for the raised state too. (Or am I missing something?)
Title: Re: eFMer Priority
Post by: Beyond on April 28, 2011, 05:37:40 PM
Feature request:  allow "Priority" to set the process priority to "low".
Title: Re: eFMer Priority
Post by: fred on April 28, 2011, 07:10:34 PM
Quote from: Beyond on April 28, 2011, 05:37:40 PM
Feature request:  allow "Priority" to set the process priority to "low".
Why, because it does nothing at all.
A process is a collection of threads, so a process itself is nothing....
The thread priority is set by the priority program.
The process priority stetting is intended for new threads, when a new thread is created thread it sometimes inhereds the process priority, but not always.
But the program will set all threads to the selected priority, at a regular interval.
Title: Re: eFMer Priority
Post by: Beyond on April 29, 2011, 07:30:25 AM
I'm not understanding.  In task manager I can change the priority to low, below normal, normal, above normal, high and realtime.  In "Priority" there is no choice for "low", only below, normal, above and high.
Title: Re: eFMer Priority
Post by: Pepo on April 29, 2011, 07:38:46 AM
Quote from: fred on April 28, 2011, 07:10:34 PM
Quote from: Beyond on April 28, 2011, 05:37:40 PM
Feature request:  allow "Priority" to set the process priority to "low".
Why, because it does nothing at all.
[...]
The process priority stetting is intended for new threads, when a new thread is created thread it sometimes inhereds the process priority, but not always.
This is not very true. If you lower a process' priority (usually, I assume which threads' priorities are defined relative to its process' priority), all its existing (not just future) threads' priorities (both base and dynamic) will be lowered accordingly too. Maybe an exception would be threads, which define their priority explicitly to some value (like BOINC tasks' threads priorities). Or which threads' priorities are set externally by e.g. "eFMer Priority"? ;)

But I (thus) agree that setting threads' priorities directly overrides their process' priority.  ;D

One empirical test with eFMer Priority - setting one process' threads' priorities to Below shifted also the whole process' priority to Below.

Maybe Beyond should just formulate his request differently? He just writes:
Quote from: Beyond on April 29, 2011, 07:30:25 AM
I'm not understanding.  In task manager I can change the priority to low, below normal, normal, above normal, high and realtime.  In "Priority" there is no choice for "low", only below, normal, above and high.


In the list, there is "Below normal", but "Low" is missing.
And, what about adding also "Idle"?
Title: Re: eFMer Priority
Post by: Beyond on April 29, 2011, 01:35:00 PM
Quote from: Pepo on April 29, 2011, 07:38:46 AMMaybe Beyond should just formulate his request differently? He just writes:

Quote from: Beyond on April 29, 2011, 07:30:25 AM
I'm not understanding.  In task manager I can change the priority to low, below normal, normal, above normal, high and realtime.  In "Priority" there is no choice for "low", only below, normal, above and high.

  • Feature request:  allow "Priority" to set the priorities also to "Low".
In the list, there is "Below normal", but "Low" is missing.  And, what about adding also "Idle"?
+1 Exactly!  Thought that's what I was asking, maybe mis-phrased it :)
Title: Re: eFMer Priority
Post by: fred on April 29, 2011, 03:34:16 PM
Added V 1.2:

Process: Idle -- Thread: Idle
Process: Below normal -- Thread: Lowest

There is no Lowest setting for a process, only for the thread.

Some program call idle -> lowest

For testing I use Process Explorer.
Title: Re: eFMer Priority
Post by: fred on April 29, 2011, 06:32:18 PM
Quote from: Beyond on April 29, 2011, 06:31:07 PM
Nice, thanks!  Where to DL it?
Scroll to the top of this topic. ;D
Title: Re: eFMer Priority
Post by: Beyond on April 29, 2011, 06:33:54 PM
Just saw that.  First tried to DL it here:

http://www.efmer.eu/boinc/download.html

Time to update it to 1.2!  ;D
Title: Re: eFMer Priority
Post by: fred on April 29, 2011, 06:34:52 PM
Quote from: Beyond on April 29, 2011, 06:33:54 PM
Just saw that.  First tried to DL it here:

http://www.efmer.eu/boinc/download.html

Time to update it to 1.2!  ;D
I was looking for that one. :o
Title: Re: eFMer Priority
Post by: Beyond on May 21, 2011, 12:11:53 AM
Quote from: fred on April 29, 2011, 03:34:16 PM
Added V 1.2:

Process: Idle -- Thread: Idle
Process: Below normal -- Thread: Lowest
There is no Lowest setting for a process, only for the thread.
Some program call idle -> lowest
For testing I use Process Explorer.
I'm still having issues.  If I set eFMer Priority to normal for the dnetc*.exe in Moo! Wrapper the GPU usage stays unchanged at around 70%.  Process priority still says low in Task Manager.  If I set the process priority to normal in Task Manager the GPU usage jumps to an average of about 95%.
Title: Re: eFMer Priority
Post by: fred on May 21, 2011, 08:23:44 AM
Quote from: Beyond on May 21, 2011, 12:11:53 AM
I'm still having issues.  If I set eFMer Priority to normal for the dnetc*.exe in Moo! Wrapper the GPU usage stays unchanged at around 70%.  Process priority still says low in Task Manager.  If I set the process priority to normal in Task Manager the GPU usage jumps to an average of about 95%.
A wrapper?
Priority only changes the process not the child processes.
When you use a wrapper, you may have to add the underlying exe.
Try using something more sophisticated than the Tasks Manager: procexp.exe = ProcessExplorer.
Title: Re: eFMer Priority
Post by: wicked on June 17, 2011, 06:29:46 AM
Quote from: Beyond on May 21, 2011, 12:11:53 AM
I'm still having issues.  If I set eFMer Priority to normal for the dnetc*.exe in Moo! Wrapper the GPU usage stays unchanged at around 70%.  Process priority still says low in Task Manager.  If I set the process priority to normal in Task Manager the GPU usage jumps to an average of about 95%.

Both the wrapper and the child process (dnet client) set their own process and thread priorities (during startup), which should be correct for them. Dnet client will always use low process priority but bumps it's thread priorities up according to internal logic.

If you are still having problems with getting your GPU up to full speed, you might want to try changing priority in the dnet client config (you will need to use anonymous platform to safely edit the config file) and see if that helps.. It is set to 4 by default, which is what is recommended on Windows to keep GPU fully loaded.