У чому полягає пріоритет для процесу в режимі реального часу?


12

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


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

Відповіді:


7

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


Деякі дуже поширені програми, такі як звукові сервери (PulseAudio та JACK як два приклади Linux), використовують потоки пріоритету в реальному часі.
user1686

@grawity: JACK - це не сервер, а лише набір для розробки. Обидва є кросплатформенними. Хоча добре, що цей аудіосигнал вимагає пріоритету в режимі реального часу, але я говорив з точки зору Windows 7, де ці вказані вами процеси не мають пріоритету в режимі реального часу. Windows має щось, що називається Планувальник мультимедійних класів для подібних процесів, хоча ...
Тамара Війсман

Що ж таке jackd, якщо не звуковий сервер? (З того, що я розумію до цих пір, і ПА, і JACK працюють однаково, оскільки вони забезпечують звуковий сервер і бібліотеку / комплект для доступу до нього ...)
user1686

Це не робить комплект раптом не стати сервером. Ми говоримо тут про процеси, а не про теми ...
Tamara Wijsman

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

2

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

Варто також зазначити, що є випадок, коли процес може запускатися з найвищими параметрами пріоритету, і це, здається, не сильно впливає на продуктивність вашої системи. Наприклад, якщо процес запущений і йому призначено працювати лише на 1, скажімо, 8 ядрах процесора, встановлення пріоритету процесів на "реальний час" означатиме, що він буде споживати один процесор, залишаючи 7 для використання ОС та будь-яке інше програмне забезпечення. У цьому випадку виконання в режимі реального часу може майже не впливати на систему, але може дати розумний відбиток продуктивності процесу високого пріоритету.

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

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

Я особисто рекомендую НІКОЛИ не змінювати пріоритет завдань, якщо вам справді все одно, якщо воно не вдається, і це завдання НЕВЕРШЕНО некритичне. Якщо в документації на програмне забезпечення явно зазначено, що ви можете підвищити процес на більш швидкій швидкості, щоб прискорити дуже велике навантаження на роботу процесора, то це також було б прийнятно, однак я буду трохи скептично налаштований, якщо механізм з всередині заявки не передбачено.

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


1
Як програміст я не можу придумати ситуацію, коли надання програмі більшої кількості ресурсів призведе до краху
TheLQ

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

0

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

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.