Какой смысл использовать приоритет процесса в реальном времени?

12

По моему опыту, установка любого процесса в режиме реального времени замедлит ваш компьютер до скорости улитки. Какая польза от этого параметра, если он делает ваш компьютер непригодным для использования?

Koen027
источник
2
Если у вас многоядерный процессор или многопроцессорная система, вы можете установить привязку только для одного ядра. Таким образом, остальная часть системы останется отзывчивой, и вы сможете воспользоваться остальными преимуществами процесса в реальном времени. Это, конечно, хорошо работает только для процессов, для работы которых требуется только одно ядро.
AndrejaKo

Ответы:

7

Именно то, что вы описываете, за счет замедления остальной части вашего компьютера до обхода, он запускает процесс в режиме реального времени, предоставляя ему более высокий приоритет, чем все остальное. Это необходимо только для срочных приложений, большинство людей не видят их в своей повседневной жизни ...

Тамара Вийсман
источник
Некоторые очень распространенные программы, такие как звуковые серверы (PulseAudio и JACK в качестве двух примеров Linux), используют потоки приоритета в реальном времени.
user1686
@grawity: JACK - это не сервер, а просто набор для разработки. Оба кроссплатформенные. Хорошая мысль, что аудио материал требует приоритета в реальном времени, но я говорил с точки зрения Windows 7, где указанные вами процессы не получают приоритет в реальном времени. В Windows есть нечто, называемое планировщиком мультимедийных классов, для таких процессов ...
Тамара Вийсман,
Что же jackdтогда, если не звуковой сервер? (Насколько я понимаю, и PA, и JACK работают одинаково, поскольку они предоставляют и звуковой сервер, и библиотеку / набор для доступа к нему ...)
user1686
Это не делает комплект внезапно стать сервером. Мы говорим здесь о процессах, а не о потоках ...
Тамара Вийсман
1
Другими примерами приложений в реальном времени являются медицинские приложения и робототехника с прямым управлением. Вещи, где 10 мкс - это разница между правильной работой и отказом (когда отказ может привести к тому, что какой-то робот срывается с обрыва или пациент подвергается воздействию слишком большого количества радиации).
Лигос
2

Это может показаться ненужным, но когда процесс запускается, могут быть переданы параметры, которые устанавливают процесс на различные уровни приоритета. Диспетчер задач показывает это как необязательный параметр, потому что это параметр, который может быть установлен для процесса программным обеспечением, которое инициировало его выполнение. Большинство программ работает на «нормальном» уровне, но иногда вы можете увидеть некоторые из них, которые по умолчанию работают на более низком уровне. Я никогда не видел программного обеспечения, которое запускается в нормальном состоянии.

Также стоит упомянуть, что есть случай, когда процесс может работать с самым высоким приоритетом, и это, похоже, не сильно влияет на производительность вашей системы. Например, если процесс запущен и ему назначено работать только на одном из, скажем, 8 процессорных ядер, установка приоритета процессов в «реальном времени» будет означать, что он будет использовать один процессор, а 7 будет использоваться ОС и любое другое программное обеспечение. В этом случае выполнение в реальном времени может практически не повлиять на систему, но дать разумный прирост производительности высокоприоритетному процессу.

Я бы почти никогда не рекомендовал вручную устанавливать процесс для запуска в «реальном времени» из System Manager. Это связано с тем, что вы изменяете параметры выполнения для процесса, который, возможно, был разработан для работы в одном конкретном состоянии выполнения. Изменение приоритета выполнения может в некоторых случаях привести к сбою приложения и, если это операция записи данных, возможно, повредит ваши данные!

Однако в некоторых случаях использование максимальной настройки приоритета выполнения для процесса может быть правильным, но даже в этом случае такие настройки приоритета должны устанавливаться управляющим приложением, а не конечным пользователем через диалоговое окно управления системой.

Лично я бы порекомендовал НИКОГДА не менять приоритет задачи, если вам действительно все равно, если он падает, а задача ПОЛНОСТЬЮ некритична. Если в документации по программному обеспечению прямо указано, что вы можете повысить скорость процесса до более высокой скорости, чтобы ускорить очень большую нагрузку на процессор, то это также будет приемлемо, однако я бы немного скептически отнесся к внутри приложения не предусмотрено.

Как личный анекдот, есть только один процесс, который я иногда изменяю вручную - приложения сжатия программного обеспечения. Мне не пришлось разархивировать массивный файл в течение длительного времени, но я обнаружил, что если я в спешке (к сожалению , я нетерпеливый), я могу повысить приоритет процесса и получить умеренное снижение производительности. Поскольку эти приложения запускают рабочую задачу, а затем закрываются, когда они завершаются, мне не нужно беспокоиться о сбросе настроек моего процессора, потому что, когда приложение завершит извлечение данных, оно остановится само по себе. Это единственный раз, когда я лично считаю полезным контролировать скорость процессора через управление системой.

RLH
источник
1
Как программист, я не могу представить себе ситуацию, в которой если дать программе больше ресурсов, это может
привести к
Как программист, да, но настройка процесса для запуска на определенном уровне может вызвать проблемы, особенно если программное обеспечение было написано (возможно, даже плохо) для одновременного запуска с другими процессами. Мои предложения основаны как на опыте, так и на понимании того, что не все пользователи являются разработчиками. Установка приоритетов запущенных процессов, которые вы не разработали, может, конечно, вызвать неожиданное поведение. Я не хочу никого пугать, однако я также не хочу побуждать других пользователей связываться с настройками процесса, если есть вероятность, что их изменения могут повредить.
RLH
0

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

Кит Р.
источник