프로세스의 "실시간"우선 순위는 어떻게 사용됩니까?


12

내 경험상, 프로세스를 실시간으로 설정하면 컴퓨터가 달팽이 속도로 느려집니다. 컴퓨터를 사용할 수없는 경우이 설정의 용도는 무엇입니까?


2
다중 코어 프로세서 또는 다중 프로세서 시스템이있는 경우 하나의 코어에만 선호도를 설정할 수 있습니다. 이렇게하면 나머지 시스템은 반응이 유지되며 실시간 프로세스의 나머지 이점을 누릴 수 있습니다. 물론 이것은 하나의 코어 만 있으면 작동하는 프로세스에만 효과적입니다.
AndrejaKo

답변:


7

정확하게 말하면 컴퓨터의 나머지 부분을 크롤링 속도로 늦추는 대신 프로세스가 실시간으로 프로세스를 실행하여 다른 모든 것보다 우선 순위를 높입니다. 이것은 시간이 중요한 응용 프로그램에만 필요하며 대부분의 사람들은 일상 생활에서 이것을 보지 못합니다 ...


사운드 서버 (PulseAudio 및 JACK (2 개의 Linux 예제))와 같은 매우 일반적인 일부 프로그램은 실시간 우선 순위 스레드를 사용합니다.
user1686

@ grawity : JACK은 서버가 아니라 개발 키트입니다. 둘 다 크로스 플랫폼입니다. 좋은 점은 오디오에 실시간 우선 순위가 필요하지만 Windows 7 관점에서 지정한 프로세스가 실시간 우선 순위에 도달하지 않는다는 것입니다. Windows는 이런 종류의 프로세스를위한 멀티미디어 클래스 스케줄러라는 것을 가지고 있습니다.
Tamara Wijsman

그렇다면 jackd사운드 서버가 아닌 경우 무엇입니까 ? (지금까지 내가 이해 한 바에 따르면 PA와 JACK은 사운드 서버와 라이브러리 / 키트를 모두 제공한다는 점에서 동일한 방식으로 작동합니다.)
user1686

키트가 갑자기 서버가되지는 않습니다. 우리는 ... 스레드, 여기 프로세스에 대해 이야기하지 않을
타마라 Wijsman

1
실시간 앱의 다른 예로는 의료 앱 및 직접 제어 로봇이 있습니다. 10µs는 올바른 작동과 실패의 차이입니다 (실패한 경우 일부 로봇이 절벽에서 주행하거나 환자가 너무 많은 방사선에 노출 될 수 있음).
ligos

2

이것은 불필요하게 보일 수 있지만 프로세스가 시작될 때 프로세스가 다양한 우선 순위 레벨에서 실행되도록 설정하는 매개 변수를 전달할 수 있습니다. 작업 관리자는 실행을 시작한 소프트웨어에서 프로세스에 대해 설정할 수있는 옵션이므로이 설정을 선택적인 설정으로 표시합니다. 대부분의 소프트웨어는 "정상"수준에서 실행되지만 때때로 기본적으로 낮은 수준에서 실행되는 소프트웨어가있을 수 있습니다. 정상 상태에서 시작되는 소프트웨어는 본 적이 없습니다.

프로세스가 최우선 순위 설정으로 실행될 수 있고 시스템 성능에 큰 영향을 미치지 않는 경우가 있다는 점도 언급 할 가치가 있습니다. 예를 들어, 프로세스가 시작되고 8 개의 CPU 코어 중 하나에서만 작동하도록 할당 된 경우 프로세스 우선 순위를 "실시간"으로 설정하면 하나의 프로세서를 소비하여 7 개의 프로세서가 사용됩니다. OS 및 기타 소프트웨어 이 경우 실시간 실행은 시스템에 거의 영향을 미치지 않지만 우선 순위가 높은 프로세스에는 적절한 성능 저하를 줄 수 있습니다.

시스템 관리자 내에서 "실시간"으로 실행되도록 프로세스를 수동으로 설정하는 것은 권장하지 않습니다. 하나의 특정 실행 상태에서 작동하도록 설계된 프로세스의 실행 설정을 변경하고 있기 때문입니다. 경우에 따라 실행 우선 순위를 변경하면 응용 프로그램이 중단되고 데이터 쓰기 작업 인 경우 데이터가 손상 될 수 있습니다!

그러나 프로세스에 최대 실행 우선 순위 설정을 사용하는 것이 옳은 경우가있을 수 있지만 이러한 우선 순위 설정은 시스템 관리 대화 상자를 통해 최종 사용자가 아닌 제어 애플리케이션이 설정해야합니다.

개인적으로 작업이 충돌하지 않고 작업이 완전히 중요하지 않은 경우가 아니라면 작업 우선 순위를 변경하지 않는 것이 좋습니다. 소프트웨어 문서에 프로세서 처리 속도를 높이기 위해 더 빠른 속도로 실행하도록 프로세스를 향상시킬 수 있다고 명시되어있는 경우에도 수용 할 수있을 것입니다. 응용 프로그램 내에서 제공되지 않습니다.

개인적인 일화로서, 때때로 수동으로 변경하는 하나의 프로세스, 즉 소프트웨어 압축 응용 프로그램 만 있습니다. 오랫동안 대용량 파일의 압축을 풀지 않아도되었지만 서두르면 ( 중급 상태 인 경우) 프로세스 우선 순위를 높이고 성능이 약간 저하 될 수 있습니다. 이러한 응용 프로그램은 작업 작업을 시작한 다음 완료되면 닫히므로 응용 프로그램의 데이터 추출이 완료되면 자체적으로 중지되므로 프로세서 설정을 해제하지 않아도됩니다. 이것은 시스템 관리를 통해 프로세서 속도를 제어하는 ​​것이 개인적으로 유용하다는 것을 알게 된 유일한 시간입니다.


1
프로그래머로서 프로그램에 더 많은 리소스를 제공하면 프로그램이 충돌하는 상황을 생각할 수 없습니다.
TheLQ

프로그래머로서, 그러나 특정 수준에서 프로세스를 실행하도록 설정하면 특히 소프트웨어가 다른 프로세스와 동시에 실행되도록 작성된 경우 (아마도 열악 할 수 있음) 문제가 발생할 수 있습니다. 저의 제안은 모든 사용자가 개발자가 아니라는 경험과 이해에서 비롯된 것입니다. 실행 중이거나 아직 개발하지 않은 프로세스의 우선 순위를 설정하면 예기치 않은 동작이 발생할 수 있습니다. 그러나 한 가지를 두려워하고 싶지는 않지만 변경 사항이 손상 될 수있는 경우 다른 사용자가 프로세스 설정을 망칠 것을 권장하지 않습니다 .
RLH

0

게임 우선이 아닌 랩톱에서 게임 속도를 높이기 위해 실시간 우선 순위를 사용합니다. 게임을 할 때 백그라운드 프로세스에 신경 쓰지 않고 처리 능력을 이런 식으로 할당하여 훨씬 즐거운 경험을 얻습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.