Priorities in Windows. Managing process priorities in Windows Which is better real-time or high priority?

Priorities in Windows. Managing process priorities in Windows Which is better real-time or high priority?

25.08.2023

Good day to all. Today, as you understand from the title, we will talk about how speed up your computer and processor using prioritization.

Many people have probably heard that you can use different priorities (background, normal, high, real time, etc.) for different processes, thereby optimizing their performance and allocating more processing power (processor time) to them.

Sometimes this helped significantly speed up the operation of a particular application or the system as a whole, and even (ping) (I will, in principle, outline the reasons for reducing ping depending on processor priorities and power in a separate article).

How to speed up a computer and processor in theory

However, you will agree that, say, a 3D game and a regular notepad are slightly different applications and, obviously, the game needs more processor resources in real time, because being in a 3D application you are unlikely to interact with this very notepad and it You don’t need it for the time being (and the notepad almost doesn’t need any special processor power - that program isn’t there... just like that).

From here, it seems logical that different applications should have different priorities (especially in times of multi-cores), but in practice this is far from reality.

As you already understand, I’m getting at the idea that full-fledged applications should be given higher priority, which will automatically significantly optimize them by injecting more computer resources.

But I think that you will agree that doing this every time (because the priority set in the task manager is forgotten by the system after a restart) manually is a real punishment and generally lazy, and therefore you need to somehow automate this process, i.e. That is, conditionally, speeding up the computer and processor is not entirely manual.

This is what we will talk about in this article.

How to speed up a computer in practice using the program

About two months ago I came across a wonderful program called Mz CPU Accelerator. What it does is that it automatically changes the processor priority of the active window or application to a pre-specified one, which, in general, is what we need, because this is what will speed up the processor and computer.

Moreover, all this is implemented in a really extremely convenient, logical manner and does not require unnecessary movements from the user. Plus, there is support for multiprocessing (multi-core) and the ability to run an application in a separate segment (that is, say, allocate only two cores out of four to a program (this is closer to very targeted optimization)).

Note: How I didn’t come across this miracle before, I don’t know :)

Namely:

  • put the circle Realtime;
  • check the Load on Windows startup checkbox (so that the program is loaded immediately when the system starts);
  • Start Activated (so that the program is immediately activated, that is, so that it does not require an additional button press in order to begin its duties) and..
  • Start Minimized (so that it is initially minimized to tray).

If you wish, you can also check Check for updates on startup (so that you can immediately check whether program updates have come out), and also choose how the program will be displayed in the tray according to your taste: Show Mz CPU Accelerator Icon (the icon of the program itself will be in the tray) or Shows CPU Usage (shows how busy it is) (the color of the numbers is selected from the drop-down list).

That's all, all that remains is to press the Activate button and enjoy how the computer, or more precisely, the active window or application, has accelerated.

List of useful notes worth knowing

What else is worth knowing and understanding on this topic:

  • Note: on the Exclusions tab, you can add applications that you want to exclude from the list of those optimized by the program, i.e. it will not assign any priorities to them. To do this, use the Add new process button and select the program you want to exclude;
  • Note 2: on the CPU Manager tab, you can distribute processes to different cores (Add new process and Run new process buttons), that is, say, assign some cores to some programs, and different cores to others, which in some sense can affect performance gains. Similar in principle
  • Note 3: I haven’t encountered it myself, but I admit (albeit unlikely) that on some machines there may be problems (in the form of system slowdown) due to the choice of an excessively high priority. In this case, try using the High circle instead of Realtime.

Now let's move on to the afterword.

Afterword

Here's the thing. In general, I really liked the program, because it is really effective and allows you to speed up your computer, Windows, and, relatively speaking, the processor.

By the way, in theory, the increase will be felt especially strongly by owners of multi-core processors, as well as users of the FireFox browser (it is processor-dependent and, when receiving Realtime priority, it begins to fly noticeably faster (especially in a compartment)) and everyone who is somehow connected with processor-dependent full-fledged applications (this I'm talking about all sorts of renderings in photos, videos and 3D editors).

If you have any questions, then, as always, ask in the comments to the article - I will be happy to help.

PS: Reviews about personal feelings in terms of productivity gains are no less interesting than questions;)

Instructions

Press the key combination “Ctrl+Alt+Delete”. A list of actions that can be performed will appear on the screen.

In the task manager window that opens, go to the “Applications” tab.

Select the program whose priority you want to change. Right-click on it and, in the drop-down menu, click on “Go to processes”. All programs that run on a computer have their own processes, and it is for them that priorities are set.

In the drop-down menu, set the priority to medium, high, low or other.

Helpful advice

You can view more information about the running process in the Task Manager. To do this, right-click on it and select the “Properties” command. The dialog box that appears displays details about the process, including its location and size. Click the Details tab to view detailed information about the process.

The task manager can be launched by right-clicking on the taskbar and selecting “Task Manager” from the drop-down menu.

Sources:

  • how to change your priorities

Process scheduling in UNIX is based on priority. Typically each process has two priority attributes. There are 32 priority levels in Windows. On your computer, you can speed up the work of programs that are in the operating system. To do this, you just need to increase the priority of the process.

Instructions

You need to go to the "Task Manager". To do this, right-click on the “Taskbar” section. Select "Task Manager" from the context menu. Go to the “Processes” tab. There you will see a list of all running processes. Find the one you want and right-click on it. Next, select the “Priority” command. Now you can increase the priority of the process. "Task Manager" is possible.

You can also increase the priority using the InqSoft Speedballs utility. This monitors all processes. Launch it. Increasing process priority automatically. By going to Settings, you can change the settings. In the menu where it says “Increase priority to,” check the High box and click “Apply.”

In the Control Panel, go to the Settings section. Select Performance and Maintenance. Go to the System menu and switch to the Performance tab. Find the Application Performance section and use the arrow to set the desired process priority level.

You can increase the priority of a process in Linux as well. This is done through the console. Press the top command - text will appear in front of you. Now you can perform different actions. To increase the priority, press the r key on the keyboard.

If you need to increase the priority of a process in a game, do the following. For example, take the game World of Warcraft. Open through “Start”, then the “Notepad” program. Paste the following text: @echo off cd /d "C:/Program Files/World of Warcraft"start/high wow.exe. Change this path: "C:/Program Files/World of Warcraft" to the new one that you will have. Save the previously written text in Notepad in .bat format. Launch your game through this file. You will notice an increase in priority.

Sources:

  • how to change priority

No matter how powerful the reserve of resources your computer has, they are still not endless. A special OS component distributes RAM and graphics memory, priority and frequency of access to the processor, cache memory and some other resources between all running system and application programs. He does this in accordance with the priority table, which he himself compiles by default. The user has the opportunity to intervene in the distribution of the importance of running processes.

Instructions

Launch Windows Task Manager. This can be done in several ways - for example, by pressing the key combination Ctrl + Alt + Delete. In Windows 7, an additional menu appears on the screen in which you should select “Launch Task Manager”, but in earlier versions of Windows this intermediate step is not present. Another way to open the task manager is to open the program launch window by pressing the Win + R key combination, then entering the taskmgr command and clicking the OK button.

Right-click on the line with the desired process and expand the “Priority” section in the context menu. By default, all processes have "normal" priority - change this by selecting any of the six options listed. However, do not forget that in some cases, excessively increasing the priority of application programs (the “High” and “Real Time” items) can lead to a sluggish response of the operating system to keystrokes, mouse movements, etc. The same problem can also occur if the priority of system processes (for example, a process named explorer) is excessively lowered.

Answer from Null[guru]
First one command of one process is executed, then another, then the second command of the first process, and so on. The priority of a process indicates how often the processor accesses it, that is, the higher the priority, the higher the speed of the program, but this slows down the work of other processes.


Answer from Enlightenment[active]
Immediately after the context switch, the kernel starts the process scheduling algorithm, selecting for execution the process with the highest priority among the processes that are in the “reserve” and “ready to execute, loaded into memory” states. It makes no sense to consider processes that are not loaded into memory, since without being loaded, the process cannot execute. If several processes have the highest priority, the kernel, using the principle of a circular list (carousel), selects among them the process that has been in the “ready to execute” state longer than the others. In general, whichever program you are accessing has priority, but along with it there are also other processes that must participate with it, hence the priority. . real time means every second.

We use a dictionary. If programs are not closed, they use our computer's resource. You can see what is actually happening in a special Windows OS program. But not just look, but manage the distribution of resources in order to improve performance. Let's look at how to increase priority in the Windows Task Manager.

When working with many programs, the computer switches from one to another in a certain order. The ones he deems most important are executed first. The degree of importance is called priority. Typically, it is controlled by the program code itself. But the user can change the basic parameter to some other one, thereby making what is important to him at the moment faster.

Queue types

The degree of importance has the following gradations:

  • Real-time priority means that all computer resources are given to the selected process, even those resources that were intended for system processes, think before you boost it to that extent.
  • high;
  • above average;
  • ordinary;
  • below the average;
  • short.

Changing priority values

Let's look at how to set priority in the Task Manager:


IMPORTANT. Remember that high values ​​for one program can significantly reduce the performance of the machine as a whole. Increase gradually, and through experience, find the degree that will make the work comfortable.

When does this apply? Mainly for solving temporary tasks. For example, you are watching a movie and at the same time downloading some data from the Internet, and the video is periodically interrupted. Increasing the importance of the player will solve this problem. This is also often used to improve browser performance when browsing the Internet.

As already mentioned, the change is valid only for a certain point in time while the program is running. When it restarts it will be back to the base values. Let's look at how to change the priority of Windows tasks in the most convenient way possible.

Other ways to work with performance

Agree, experimenting with the settings every time is very inconvenient. There are special programs that can simplify the procedure. For example, Process Explorer and Mz CPU Accelerator. We will not dwell on them in detail; we will only note the essence of their work.

Mz CPU Accelerator allows you to automatically increase the values ​​for the active window program, doing it very efficiently. In addition, it allows you to control the allocation of processor resources, for example, to allocate one or two cores to a program instead of all. In general, the program allows you to increase the speed of applications.

Process Explorer allows you to get detailed information about all processes occurring on your computer and set more advanced settings than the standard Windows tool.

Thus, knowing how to change the priority level in the Task Manager, you can increase the speed of your computer and avoid errors and freezes. If you have tips on how to change this setting in a particular situation when working in Windows, share them with other users by leaving a comment below.

7 answers

A real-time priority thread can never be prevented by timer interrupts and runs at a higher priority than any other thread on the system. Because such CPU-bound real-time priority thread can completely destroy the machine.

Creating real-time priority threads requires a privilege (SeIncreaseBasePriorityPrivilege), so it can only be done by an administrator.

For Vista and beyond, one option for applications that require them to run in real-time priority is to use the Multimedia Class Scheduler Service (MMCSS) and let it manage the priority of your threads. MMCSS will prevent your application from using too much CPU time, so you don't have to worry about tanking the machine.

It's just that the "Real Time" priority class is higher than the "High" priority class. I don't think there's much more there. Oh yes, you must have SeIncreaseBasePriorityPrivilege to put the thread in the Real Time class.

Windows sometimes increases the priority of a thread for various reasons, but will not increase the priority of a thread in a different priority class. It also will not increase the priority of threads in the real-time priority class. Thus, a thread with a high priority will not receive any automatic temporary promotion to the real-time priority class.

Russinovich's "Inside Windows" chapter on how Windows handles priorities is a great resource for learning how it works:

Note that there are absolutely no problems with a thread having real-time priority on a normal Windows system - they are not necessary for special processes running on dedicatd machines. I believe that media drivers and/or processes may require real-time priority threads. However, such a thread should not require a lot of CPU - it should block most of the time so that normal system events can be processed.

This will be the highest priority setting available and will typically only be used in the field intended to run that specific program. It's actually high enough that it can starve keyboard and mouse threads to the point where they become unresponsive.

So, if you have to ask, don't use it :)

In real time, this is the highest priority class available to the process. Therefore, it differs from "High" in that it is one step larger, and "Above Normal" in that it is two steps larger.

Similarly, in real time there is also a thread priority level.

A process's priority class raises or lowers all the effective priorities of threads in a process and is therefore considered the "base priority".

So the process has:

  • Base Process Priority Class.
  • Individual thread priorities, offsets of the base priority class.

Since real-time applications are supposed to be backed up and absolutely must pre-empt other running processes, there is a special security privilege to protect against accidental use of it. This is determined by the security policy.

On NT6+ (Vista+), using the Vista Media Class Scheduler is the correct way to achieve real-time operations on what is not a live OS. It works, for the most part, although it's not perfect since the OS isn't designed for real-time operations.

Microsoft considers this priority very dangerous, and rightly so. No application should use it except in special circumstances, and even then try to limit its use to temporary needs.

Once Windows knows that a program is using a higher priority, it seems to limit the priority of the process.

Setting the priority from IDLE to REALTIME does NOT change CPU usage.

I found on my AMD multi-processor that if I drop one of the CPUs as LAST, the CPU usage will be MAX OUT and the last CPU will remain idle. CPU speed increases up to 75% on my Quad AMD.

Use Task Manager -> select process->Right click process->Select->Set affinity Click all except last processor. CPU usage will increase to MAX on remaining processors and frame count if video processing increases.

© 2023 hecc.ru - Computer technology news