Як встановити додаток високий пріоритет. Про цікаві речі зі світу IT, інструкції та рецензії. Зміна «Параметрів швидкодії»

Тема не нова, але, можливо, комусь знадобиться. Як запускати процеси автоматично з високим чи низьким пріоритетом без лівих програм та своїми руками? Розповім на прикладі Windows 7, але дії будуть аналогічними і в Windows 8 та 10.

Вітаємо учасника конкурсу

Цей текст було надіслано на конкурс авторів, який ми запустили навесні. Ми розібралися з великою кількістю матеріалів, що прийшли, підбили підсумки і нагородили переможців. Автор цієї нотатки отримав приз – тримісячну передплату на «Хакер». Вітаємо!

Для початку вибираємо програму чи гру, якою хочемо задати пріоритет. Візьмемо, наприклад, браузер Google Chrome. Тиснемо правою клавішею миші на ярлик Chrome і в контекстному менювибираємо розташування файлу.


Не забудь вказати "Показувати розширення файлів". Для цього у «Провіднику» вибирай «Упорядкувати → Параметри папок → Вид» та знімай галочку «Приховувати розширення для зареєстрованих типів файлів», натисніть «Застосувати» та «OK».



Тепер копіюємо назву chrome.exe, клацнувши двічі за назвою, і тиснемо Ctrl+C або вибираємо в контекстному меню «Копіювати».



Ідемо в реєстр, для цього тиснемо Win + R і пишемо regedit.



Тиснемо Enter, відкриється редактор реєстру.



Переходимо на шляху HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options . Тиснемо правою клавішею миші по розділу "Image File Execution Options" і в контекстному меню вибираємо "Створити" та "Розділ".



Називаємо новий розділ chrome.exe.



Якщо не виходить перейменувати розділ і він назвався "Новий розділ #1", то клацаємо на ньому правою клавішею миші та в контекстному меню вибираємо "Перейменувати".



У цьому розділі створюємо ще один розділ. Назвемо його PerfOptions і створимо параметр DWORD (32 біта). Для цього тиснемо правою кнопкоюмиші по розділу PerfOptions та в контекстному меню вибираємо «Створити → Параметр DWORD (32 біти)».



Задаємо систему обчислення «Десятична» та у значенні вказуємо пріоритет у вигляді цифри – наприклад, 3. Тиснемо ОK.


  • 1 – пріоритет Idle (низький)
  • 5 - пріоритет BelowNormal (нижчий за середній)
  • 8 – пріоритет Normal (середній)
  • 6 - пріоритет AboveNormal (вище середнього)
  • 3 – пріоритет High (високий)

Закриваємо реєстр, запускаємо браузер та диспетчер завдань (Ctrl+Shift+Esc, Ctrl+Alt+Delete або правою клавішею миші на панелі завдань та «Запустити диспетчер завдань» у контекстному меню). У диспетчері завдань переходимо на вкладку «Процеси» та шукаємо процес chrome.exe. Тиснемо по ньому правою клавішею миші та в контекстному меню вибираємо «Пріоритет», щоб перевірити, чи встановився той пріоритет, який ти ставив.



Таким чином можна оптимізувати процеси, задавши високий пріоритет програмам, якими ти користуєшся найбільше, а низький – програмам, які тобі не важливі.

Конкурс триває

Ми вирішили продовжити конкурс та перетворити його на постійну акцію. Надіславши нам опис хака, корисна порадаабо опис кльової невідомої проги, ти, як і раніше, можеш отримати передплату на місяць, три місяці або, якщо постараєшся, на рік.

Всім доброго доби. Сьогодні, як Ви зрозуміли із заголовка, ми поговоримо про те, як прискорити комп'ютер та процесор, використовуючи пріоритезацію.

Багато хто напевно чув про те, що можна за допомогою виставляти різні пріоритети (фоновий, нормальний, високий, реального часу тощо) різним процесам, тим самим оптимізуючи їх продуктивність і виділяючи їм більше процесорних потужностей (процесорного часу).

Іноді це допомагало солідно прискорити роботу тієї чи іншої програми чи системи загалом і навіть (пінг) (причини зниження пінгу залежно від процесорних пріоритетів і потужностей у принципі викладу окремою статтею).

Як же прискорити комп'ютер і процесор теоретично

Однак, погодьтеся, що, скажімо, 3D гра і звичайний блокнот, - це трохи різні програми і, очевидно, що грі потрібно більше ресурсів процесора в реальному часі, тому що перебуваючи в тривимірному додатку Ви навряд чи взаємодієте з цим блокнотом і він Вам не потрібен до певного часу (та особливих потужностей процесора блокноту майже не треба, - там тієї програми раз. два і немає).

Звідси, начебто логічно випливає, що пріоритети у різних додатківповинні бути різні (особливо в часи багатоядерності), але на практиці це далеко від реальності.

Як Ви вже зрозуміли, я хилю до того, що повноважним додаткам треба виставляти більший пріоритет, що автоматично суттєво оптимізуватиме їх за рахунок вливання великих ресурсів комп'ютера.

Але таки, думаю, що Ви погодитеся, що робити це кожен (бо пріоритет виставлений в диспетчері завдань забувається системою після перезапуску) раз вручну, - покарання і взагалі вселенські ліньки, а тому потрібно якось цей процес автоматизувати, т.е. е, умовно, прискорити комп'ютер і процесор не зовсім вручну.

Ось про воно і йтиметься у цій статті.

Як прискорити комп'ютер на практиці, використовуючи програму

Місяця два тому я натрапив на чудову програму під назвою Mz CPU Accelerator. Займається вона саме тим, що автоматично змінює процесорний пріоритет активного вікна або програми на заздалегідь зазначений, що нам і потрібно, тому що саме воно і дозволить прискорити процесор і комп'ютер.

Причому реалізовано все це реально рідко зручно, логічно і не вимагає зайвих рухів тіла від користувача. Плюс до нього є підтримка багатопроцесорності (багатоядерності) і можливості запуску програми в окремому сегменті (тобто, скажімо, виділити програмі лише два ядра з чотирьох (це вже ближче до точкової оптимізації)).

Примітка. Як я раніше не натрапив на це диво, - не знаю:)

А саме:

  • ставимо гурток Realtime;
  • відзначаємо галочки Load on Windows startup (щоб програма завантажувалася відразу при старті системи);
  • Start Activated (щоб програма була одночасно активована, тобто щоб не вимагала додаткового натискання кнопочки щоб приступити до своїх обов'язків).
  • Start Minimized (щоб спочатку була згорнута в трей).

За бажанням також можете відзначити Check for updates on startup (щоб відразу перевірялося, чи не вийшли оновлення програми), а також на свій смак вибрати як програма відображатиметься в треї: Show Mz CPU Accelerator Icon (у треї буде іконка самої програми) або Shows CPU Usage (показує наскільки завантажений) (з списку вибирається колір цифр).

Все, залишається тільки натиснути кнопку Activate і насолоджуватися тим, як прискорився комп'ютер, точніше кажучи, активне вікно або програма.

Список корисних приміток, які варто знати

Що ще варто знати та розуміти з цієї теми:

  • Примітка: на вкладці Exlusions можна додати програми, які Ви бажаєте виключити зі списку програм, що оптимізуються, тобто. вона не присвоюватиме цим будь-які пріоритети. Для цього скористайтеся кнопкою Add new process та виберіть програму, яку хочете виключити;
  • Примітка 2 : на вкладці CPU Manager можна розподілити процеси на різні ядра (кнопки Add new process і Run new process ), тобто, скажімо, відвести одним програмам одні ядра, іншим іншим, що у певному сенсі може позначитися приріст продуктивності. За принципом схоже
  • Примітка 3: я сам не стикався, але припускаю (нехай і малоймовірно), що на деяких машинках можуть бути проблеми (у вигляді пригальмовування системи) через вибір надмірно високого пріоритету. У разі їх спробуйте використовувати гурток High замість Realtime.

Тепер перейдемо до післямови.

Післямова

Ось така штука. Взагалі мені програма дуже сподобалася, тому що вона реально ефективна і дозволяє прискорити комп'ютер і Windows, і, умовно кажучи, процесор.

До речі, особливо сильно приріст відчують власники багатоядерних процесорів, а також користувачі браузера FireFox(він процесорозалежний і при отриманні Realtime пріоритету починає відчутно швидше літати (особливо в купе)) і всіх хтось якось пов'язаний з процесорозалежними повноважними додатками (це я про всякі рендери у фото, відео та 3D редакторах).

Якщо є якісь питання, то, як і завжди, запитуйте в коментарях до статті, - радий допомогти.

PS: Відгуки про особисті відчуття в плані приросту продуктивності цікаві анітрохи не менше ніж питання;)

Цей посібник було зроблено для Source 1, для Reborn буде перевірено так само, як буде можливість.

Вступ

Керівництво було повністю оновлено 1 лютого 2014 року. Більшість команд не змінились. Якщо з'явилися нові - пишіть.

Розташування налаштування

Розташування (скриншоти)

Список команд (запуск гри)

-console- запускає гру з увімкненою консоллю. Детальніше:

-novid- при запуску відключає відеоролик, що програється під час запуску гри
-toconsole- Примусово запускає консольнавіть якщо вказано параметр +map, що змушує двигун завантажити картку при запуску гри

Список команд

-override_vpk- гра читатиме ігрові елементи в \steamapps\common\dota 2 beta\dota замінювати та завантажувати їх у гру. Команда призначена для модифікацій.
Використання -override_vpk прибрано Valve.
Замість неї додали трохи іншу команду:
-enable_addons- дозволяє використовувати дозволені модифікації ресурсів клієнта ( Міні-карту, HUD, іконки та скрипти звуків, скрипти музики та флеш-відео)
-autoconfig- відновлює параметри графіки за замовчуванням. Ігнорує будь-які встановлені конфіги до видалення цього параметра
-dev- включає режим розробника. Також відключає автоматичне завантаженняфонової картинки меню і перестає вимагати підтвердження про вихід.
Останні рядки консолі відображатимуться поверх HUD гри. Не рекомендується використовувати
-nod3d9ex * - вимикає(Примусово) directx 9 external rendering.
-d3d9ex * - включає(Примусово) directx 9 external rendering.
-32bit- Запускає двигун у 32-розрядному режимі. Корисно лише для 64-х розрядних ОС.
-Fullабо -fullscreen- запускати гру у повноекранному режимі
-windowedабо -sw- запускає гру в екранному режимі
-w **** -h**** - Запускає Dota 2 з певною роздільною здатністю екрана (ширина та висота). Наприклад: -w 1280 -h 1024
-noborder- не відображати рамку та заголовок вікна під час запуску гри у віконному режимі
-nosound- повністю відключає звук у грі
-nosync* - відключає вертикальну синхронізацію.
+exec"ім'я cfg файлу" (без лапок) - Автоматично підвантажує конфігураційний файл CFG під час запуску. Наприклад, можна виконати спеціальний конфіг з налаштуваннями.
-noaafonts* - вимкнути TrueTypeшрифти (згладжування шрифтів)
-insecure - VACне використовується при запуску сервера
-nomaster- створений вами сервер не видно іншим користувачам у списку серверів Steam
-gl- змінює якість гри на OpenGLЗа замовчуванням стоїть SoftWare.
-heapsize"ЧИСЛО" * - Задає розмір файлу підкачки (прийнятна цифра - розмір у 2-4 рази більший за обсяг фізичної оперативної пам'яті), який використовуватиме гра (у кілобайтах).
Розраховується за формулою: (оперативна пам'ять/2*1024). Приклади чисел для ОП:

  • 512 МБ => 262144;
  • 1 ГБ => 524288;
  • 2 ГБ => 1048576;
  • 3 ГБ => 1572864;
  • 4 ГБ => 2097152;
  • 8 ГБ => 4194304
-low- запускає гру з низьким пріоритетом.
-high* - запускає гру з ВИСОКИМ пріоритетом.
-nojoy- відключає джойстик у грі
-noipx- не завантажує IPX з'єднань, дозволяє заощадити оперативну пам'ять
-noforcemspd** - використовувати налаштування швидкості миші з Windows;
-noforcemparms** - використовувати налаштування кнопок миші з Windows;
-noforcemaccel** - використовувати налаштування прискорення миші з Windows;
-freq"КІЛЬКІСТЬ" або -refresh"КІЛЬКІСТЬ" * - встановлює частоту оновлення екрану(Для ЖК моніторів рекомендується 60 Гц, а для ЕПТ - 85 або 100 Гц)
-nocrashdialog- забороняє вбудований у гру налагоджувач, дозволяє заощадити трохи оперативної пам'яті. Прибирає діалог memory could not be read".
-condebug- включає режим налагодження, при якому весь вміст консолі записуватиметься у файл console.log

* Допоможуть з оптимізацією FPS, але можливо і не всі команди (що б дота * не клала*)
** Акселерація миші у Windows

Список команд (інтерфейс меню)

-dota_embers 0- Вимкнення анімації фону в головному меню (тільки так можна поставити старі фони в меню, тобто вони будуть без анімації)
-dashboard international_2012- Зміна теми меню на International 2012
-dashboard international_2013- Зміна теми меню на International 2013
-dashboard frostivus_2013- Зміна теми меню на Frostivus 2013
-dashboard spirits_2013- Зміна теми меню на 3 Spirits Update
-dashboard newbloom_2014- Зміна теми меню на Newbloom

Список команд (непрацюючі)

-international
-international2012
-halloween
-perfectworld* - Подарунковий орб через китайський клієнт
-dxlevel :
-dxlevel 9; запуск із DirectX 9.
-dxlevel 8; запуск із DirectX 8.
-dxlevel 7; запуск із DirectX 7.
-dxlevel 6; запуск із DirectX 6.

* Може зламати клієнт

часті питаннята проблеми

Між командами зберігати (писати) прогалини.
- Чи можна писати кілька команд? - Можна, можливо.
- Більшість проблем із грою вирішується перевіркою КЕШу.
- Якщо ви таки запустили гру з командою -perfectworldта намудрили з реєстрацією китайського клієнта, грою тощо. і при цьому, після всього, Dota дивно виглядатиме потрібно:

  • Перевірити КЕШ
  • Змінити мову Dota з English на інший і назад (у крайньому випадку, таку ж махінацію зробити з самим Steam)
- Проблема з відключенням від сервера :
  • Через Менеджер завдань виставити для процесу Steam.exe пріоритет реального часу(в крайньому випадку, високий пріоритет)
  • Запустити гру з високим пріоритетом (-high)
- Проблема з неможливістю підключитися до сервера *:
  • Прописати параметр запуску -clientport 27015(або 27011 -20 тобто будь-яке число від 11 до 20 )
- Нескінченне завантаження Dota*:
  • Видалити все в папці \Steam\userdata\та запустити перевірку КЕШу.
* Не 100% рішення

-high: високий пріоритет ЦП у вашій системі, не чит
-nod3d9ex: може дати невеликий приріст FPSі швидше ALT-TAB
Але! так само ця команда може зламати гру(тільки перестане запускатися), а також якщо 1 раз спробувавшизапустити гру з -nod3d9ex, зріст FPSповинен зберегтисяа потім спокійно прибирати цю команду.
Спробуйте встановити режим * на весь екран*, у багатьох при * на весь екран* З включеною командою nod3d9ex гра висла або вилітала, або вилітала при згортанні, тому придуманий спосіб усунення цієї проблеми - режим * у вікні без рамки*. Якщо у вас у повноекранному режимі не вилітає і не зависає, залишайте де більше фпс, у БІЛЬШОСТІ в повноекранномурежимі дає більше фпс.

Якщо поставити високий пріоритет додатку, воно почне працювати швидше. Я особисто маю скрипт, який виставляє всім процесам пріоритет Високий. І ви знаєте - реально все працює швидше, сторінки відкриваються швидше. Правда і Хром при цьому вантажить процесор ще сильніше.

Отже, зараз покажу як вручну встановити високий пріоритет програмі/процесу в Windows 10. Для прикладу я візьму.. аську (ICQ). Аська це програма для спілкування, месенджер, яка була дуже популярною раніше. Але зараз їй на зміну прийшли соціальні мережі, Вайбер, ну і все .. а хоча була дуже популярна, та й зручна, у кожного був свій номер, і можна було один одному написати. Та й сьогодні можна — ось тільки мало хто її користує зараз. Так, гаразд, запускаємо диспетчер — правою кнопкою по панелі завдань і вибираємо цей пункт:


Потім шукаємо ту програму, яку хочемо задати високий пріоритет, у мене це аська, вона тут називається як ICQ (32 біта):


Натискаємо по ній правою кнопкою та вибираємо пункт Детально:


Після цього автоматично активується вкладка Подробиці, де буде виділено процес програми, в моєму випадку це icq.exe. Натискаємо по ньому правою кнопкою та виставляємо пріоритет:


Підтверджуємо:


Все, після цього пріоритет процесу програми буде високим. Ставити реального часу я не радять - можуть бути дикі гальма, якщо сама програма зависне, і на ній ще буде пріоритет реального часу.. то може і весь комп'ютер зависнути намертво. Щоб повернути пріоритет назад — робите все навпаки, ну думаю і так зрозуміло.

Чи варто виставляти найвищий пріоритет грі? Якщо при цьому ви закриєте всі програми, максимально все, що можна, то так, варто. І ефект буде кращим, якщо ви ще й інтернет відключите і антивірус. Чим найбільше ви відключите — краще працюватиме високий пріоритет. Але грі не ставте реального пріоритету, якщо у вас тільки не топовий процесор. Якщо топовий - то можете спробувати, але знову ж таки, може все зависнути. Справа в тому, що ставлячи реальний пріоритет. Ви вказуєте, що гру потрібно обробляти в першу чергу. У плані процесорних команд. Ну добре, а що робити з іншими процесами, серед яких є важливі та системні? Ось вони і можуть недоотримувати ресурсів .. і в результаті може комп'ютер зависнути раз, два, а втретє вже і не розвиснути.

Давайте поговоримо про пріоритети Windows процесів . У більшості випадків «грати» з налаштуванням пріоритетів немає необхідності, але іноді грамотний системний адміністраторможе допомогти системі правильніше розподілити процесорний час між запущеними завданнями. Єдиного рецепту немає, але шляхом «підбору та перебору» це цілком реалізовано. Де це може знадобитися? Наприклад, у зв'язці 1С-SQL можна дати більше процесорного часу 1С і SQL як найбільш критичним до ресурсів процесів.

Загалом, подивитися та змінити пріоритет запущеного процесу можна через Task Manager

WindowsNT/2000/7 /2008

У Windows 2012це “закопали” трохи глибше

Як видно з наведених прикладів, вам доступно лише 6 пріоритетів (як з'ясується пізніше, це класи пріоритетів). Чи достатньо? Microsoft вважає, що так. Але давайте згадаємо "легендарну" фразу Білла Гейста, який сказав, що "640 KB of RAM will be enough for everybody". Але час показав, що це не так. :)

А тепер давайте розберемося, як це є насправді.

Насправді Windows існує 32 рівня пріоритету, від 0 до 31.

Вони групуються так:

  • 31 — 16 рівні реального часу;
  • 15 — 1 динамічні рівні;
  • 0 - Системний рівень, зарезервований для потоку обнулення сторінок (zero-page thread).

При створенні процесу, йому призначається один із шести класів пріоритетів:

  1. Real time class (значення 24),
  2. High class (значення 13),
  3. Above normal class (значення 10),
  4. Normal class (значення 8),
  5. Below normal class (значення 6),
  6. або Idle class (значення 4).

Подивитися пріоритет процесу, як писалося вище, можна, використовуючи Task Manager.

Примітка: Пріоритети Above normal і Below normal з'явилися, починаючи з Windows 2000

Пріоритет кожного потоку ( базовий пріоритет потоку) складається з пріоритету його процесу та відносного пріоритетусамого потоку. Є сім відносних пріоритетів потоків:

  1. Normal: такий самий як і в процесу;
  2. Above normal : +1 до пріоритету процесу;
  3. Below normal: -1;
  4. Highest: +2;
  5. Lowest: -2;
  6. Time critical : встановлює базовий пріоритет потоку для Real time класу 31, решти класів 15.
  7. Idle : встановлює базовий пріоритет потоку для Real time класу 16, інших класів в 1.

У наступній таблиці показані пріоритети процесу, відносний та базовий пріоритети потоку.

Пріоритет потоку Клас процесу Клас процесу
Idle class Below normal class Normal class Above normal class High class Real time class
1 IdleIdleIdleIdleIdle
2 Lowest
3 Below …
4 Idle class NormalLowest
5 Above …Below …
6 Below normal class HighestNormalLowest
7 Above …Below …
8 Normal class HighestNormalLowest
9 Above …Below …
10 Above normal class HighestNormal
11 Above …Lowest
12 HighestBelow …
13 High class Normal
14 Above …
15 Highest
15 Time criticalTime criticalTime criticalTime criticalTime critical
16 Idle
17
18
19
20
21
22 Lowest
23 Below …
24 Real time class Normal
25 Above …
26 Highest
27
28
29
30
31 Time critical

Тепер, коли ми все це дізналися, що з цим усім можна зробити? Ну, наприклад, почати використати.

Як ще можна запустити процес із «нестандартним» пріоритетом чи змінити?

Метод 1. Запустити завдання/процес та змінити пріоритет через Task Manager.

Мінуси методу:

  • Доступно лише 6 пріоритетів
  • Перемикання пріоритетів виконується мишкою, не автоматизується.

Метод 2. Можна скористатися командою START із відповідними ключами

Доступні ключі, що відповідають за пріоритети, такі (я навмисне опускаю ключі командного рядкакоманди STARTне мають відношення до описуваного процесу роботи з пріоритетами):

C:\>start /?
Starts a separate window to run a specified program or command.
START ["title"]


LOW Start application in the IDLE priority class.
NORMAL Start application in NORMAL priority class.
HIGH Start application в High priority class.
REALTIME Start application в REALTIME priority class.
ABOVENORMAL Start application в ABOVENORMAL priority class.
BELOWNORMAL Start application in the BELOWNORMAL priority class.

Як бачимо, команда START дає можливість запустити процес все з тими ж 6 пріоритетами, які доступні через Task Manager

Мінус методу:

  • Доступно лише 6 пріоритетів

Метод 3. Використання утиліти wmic.exe

Як було показано вище, Task Manager, і команда START досить незграбні для призначення пріоритетів. Подивимося, як це застосовувати гнучкіше. Будемо використовувати утиліту wmic.exe.

Командна строка:

wmic process where name="AppName" CALL setpriority ProcessIDLevel

wmic process where name="calc.exe" CALL setpriority 32768

wmic process where name="calc.exe" CALL setpriority "above normal"

Пріоритети (визначені):

  • idle: 64
  • below normal: 16384
  • normal: 32
  • above normal: 32768
  • high priority: 128
  • real time: 256

Відступ. Що робити, якщо існує кілька однойменних процесів? Пріоритет процесу можна змінювати як на ім'я процесу, так і з використанням PID (Process ID) процесу.

Ось короткий приклад запуску wmic.exe для отримання необхідної інформації

Використовуємо команду:

Примітка: приклад виконання цієї команди наводити не буду Занадто великий перелік процесів виходить. Зробите це самостійно, за бажання.

Ви отримаєте список процесів, запущених на вашому локальному комп'ютері. Тепер виконайте команду:

wmic process list brief | find "cmd.exe"

Результат:

Спеціально запустив кілька копій cmd.exe, щоб ілюстрація була повнішою.

Тепер список процесів обмежений лише тими процесами, у імені виконуваного модуля яких є рядок «cmd.exe». Зверніть увагу на процес PID(ів).

Тепер давайте спробуємо відібрати цікаві для нас процеси, використовуючи безпосередньо WMI і не вдаючись до стандартним засобамкомандного рядка. Для цього просто напишіть:

wmic process where description="cmd.exe" list brief

Результат:

Порівняйте отримані результати. Запам'ятайте PID процесу CMD.EXE.

Командний рядок для запуску wmic.exe

wmic process where processid="XXXX" CALL setpriority ProcessIDLevel

А тепер можемо змінити пріоритет конкретного процесу (наприклад з PID=8476):

wmic process where processid="8476" CALL setpriority 32768

wmic process where processid="8476" CALL setpriority "above normal"