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

26852
Koen027

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

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

3 ответа на вопрос

7
Tom Wijsman

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

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

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

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

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

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

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

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

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

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

Похожие вопросы