Change Everything Process Priority to Below Normal (5 or 6)

Have a suggestion for "Everything"? Please post it here.
Post Reply
raccoon
Posts: 90
Joined: Thu Oct 18, 2018 1:24 am

Change Everything Process Priority to Below Normal (5 or 6)

Post by raccoon » Thu Jul 23, 2020 8:07 pm

File tasks can often be very CPU resource consuming, and so whenever Everything is performing an intensive folder indexing, or running a spawned process such as an Explorer shell extension to alter thousands of file properties or to generate file checksums, Everything as the parent process will dictate the CPU priority of the work being done.

As of right now, Everything runs at Normal priority (level 8 as per Sysinternals Process Explorer), and it should really be operating at Below Normal (level 6, or even level 5), so that most other running programs can get some CPU time in and have their Window messages read. The rule of thumb is that CPU intensive processes should always run at lower, not higher, priorities than all other processes, so as to prevent Windows from becoming sluggish and non-responsive to user input. This does not make Everything take longer to complete its tasks, by any more than a 1% imperceivable variance in time.

Manually changing Everything's process priority to Below Normal, via use of Sysinternals Process Explorer myself, makes a world of difference.

Thanks.

therube
Posts: 2609
Joined: Thu Sep 03, 2009 6:48 pm

Re: Change Everything Process Priority to Below Normal (5 or 6)

Post by therube » Fri Jul 24, 2020 12:33 am

So Everything (GUI) normally runs at Normal.

I open Everything, set it to run at High (using PE/Process Hacker)
Everything is running at High

I search (in Everything) for a batch file (goFF.bat) that runs Firefox.exe
I start goFF.bat from within Everything

What I'm seeing is that the associated shell prompt & FF are

Alright, now I'm confused.

Thinking even though one may set a "Priority", thinking it is still dynamically changing (Priority) settings... ?

Better to know what's going on in such situations rather then making arbitrary assumptions as to what is happening or perhaps rather what one, who doesn't know, expected such a change to accomplish.

Do you know what is going on?
In what situations are you seeing this great efficiency gain?
(Don't know that I'd be able to tell the difference?)
If manually setting Priorities was effectual (rather then simply letting Windows handle things), I'd think it to be a regularly mentioned "tweak".

Process Hacker allows you to "Save" a priority level - For Everything.exe (or for "this command line").
Not sure what or how it accomplishes either (like a setting in the Windows Registry, or in some .ini file, somewhere?
PH also mentions I/O & Page priority levels.

Without knowing, certainly getting far to deep for me to assume that anything done with any of those settings will have any type of overall material benefit one way or the other. (Heh, I can't even get an Everything setting I changed to "revert" - yet.)

raccoon
Posts: 90
Joined: Thu Oct 18, 2018 1:24 am

Re: Change Everything Process Priority to Below Normal (5 or 6)

Post by raccoon » Fri Jul 24, 2020 12:48 am

It is a regularly suggested tweak for a process to modify itself to Below Normal or Idle when it expects to perform any form of on-going process, such as reading, writing or encoding gigabytes of data. When I run HashCheck Shell Extension from a normal Explorer window's right-click context menu to "Create Checksum", it seems to do alright. When I perform the same right-click context menu operation on a selection of files from within Everything, it bogs my system (the responsiveness of other programs) until I adjust Everything's priority to 1 - 7.

I would perform the operation in Windows Explorer directly, but I can't attain the file selection that Everything's filtering allows me.

void
Site Admin
Posts: 5558
Joined: Fri Oct 16, 2009 11:31 pm

Re: Change Everything Process Priority to Below Normal (5 or 6)

Post by void » Fri Jul 24, 2020 6:57 am

The update thread priority should set idle priority by default. Unfortunately, due to an oversight, child threads creating during the update are using normal priority, and most the work is done in these child threads.

I will address this in the next major update.
Thanks for the suggestion.

db_update_thread_priority

raccoon
Posts: 90
Joined: Thu Oct 18, 2018 1:24 am

Re: Change Everything Process Priority to Below Normal (5 or 6)

Post by raccoon » Fri Jul 24, 2020 2:34 pm

Thanks, void.

Will this also augment the thread priority of spawned third-party processes, such as HashCheck Shell Extension? Or just the db_updater? I don't know if ShellExecute API has a provision for allowing a spawned process to adjust its own priority or whether it should inherit its parent, but they would seem to be inheriting the parent (Everything's) priority.

void
Site Admin
Posts: 5558
Joined: Fri Oct 16, 2009 11:31 pm

Re: Change Everything Process Priority to Below Normal (5 or 6)

Post by void » Mon Jul 27, 2020 3:22 am

Will this also augment the thread priority of spawned third-party processes
No. Only threads created from within the Everything process from an Everything function.
Or just the db_updater?
Yes.
I don't know if ShellExecute API has a provision for allowing a spawned process to adjust its own priority or whether it should inherit its parent, but they would seem to be inheriting the parent (Everything's) priority.
I do not change the priority class of Everything.
The user can set this externally.
The default priority class is Normal.
Processes created from Everything (ShellExecute) do not inherit the base priority class from Everything, they are always given the Normal priority class.

raccoon
Posts: 90
Joined: Thu Oct 18, 2018 1:24 am

Re: Change Everything Process Priority to Below Normal (5 or 6)

Post by raccoon » Tue Jul 28, 2020 12:25 am

What is it that causes Process Explorer to report that "Everything.exe" is using 99% CPU instead of HashCheck Shell Extension when I use it through Everything's Explorer context menu? And since Everything is running at Normal priority, so is the 99% CPU while HashCheck is processing files.

Post Reply