Windows 우선 순위 및 선호도 란 무엇이며 어떤 advatanges를 제공합니까?


9

우선 순위 및 선호도 (작업 관리자에 있음) 란 무엇이며 다음에 사용되는 것입니다.

작업 관리자에서 발견

이러한 설정을 사용자 정의하는 동안 어떤 상황에서 사용해야하는지, 어떤 이점이 있는지 알 수 있습니다.

답변:


3

선호도를 설정하면 어떤 작업이 수행되지만 절대 사용하고 싶지는 않습니다.

CPU 선호도를 설정하면 Windows가 선택된 CPU (또는 코어) 만 사용합니다. 선호도를 단일 CPU로 설정하면 Windows는 해당 CPU에서만 해당 응용 프로그램을 실행하고 다른 CPU에서는 실행하지 않습니다.

Windows는 실행중인 응용 프로그램을 가장 적은 용량의 프로세서에 자동으로 배치하므로 단일 CPU로 제한해도 Windows에서 작업을 수행 할 수 없습니다. CPU / 코어 1이 다른 응용 프로그램을 실행중인 경우에도 Windows는 CPU / 코어 2에서 선호도가 설정된 응용 프로그램을 실행할 수 없습니다.

실제로 당신이하고 싶은 유일한 이유는 다중 CPU / 코어 시스템에서 실행할 때 올바르게 작동하지 않는 오래된 응용 프로그램을 실행하는 것입니다.


5
> 당신은 그것을 사용하고 싶지 않을 것입니다. 사실이 아니다. 단일 스레드 응용 프로그램이있는 경우, 그것은 할 수없는 그들의 최대한으로 CPU의 스레드 / 코어를 사용하고 윈도우 / 강제로 수행하는 방법을 속일 수있는 것은 없다. 단일 스레드 응용 프로그램이 두 개인 경우 전체 CPU 사용률을 약 50-75 %로 유지하는 대신 각각의 스레드 / 코어를 사용하도록 Windows에 지시 할 수 있습니다 (각 코어 당 최대 100 %). 하나의 프로그램에 의해 최대로 사용됨). 예, 실제로 설정을 사용할 수는 있지만 대부분의 사람들이 알지 못하고 실현하지 못하는 특정 시나리오입니다.
Synetech

2
두 개의 단일 스레드 응용 프로그램이있는 경우 Windows는 서로 다른 스레드 / 코어에서 각각 실행되며 선호도를 설정하지 않고 100 % CPU 사용률을 얻습니다. 테스트하기 위해 4 코어 시스템에서 단일 스레드 프로그램의 4 인스턴스를 실행했으며 100 % CPU 사용률을 얻었습니다. Windows는 CPU를 효율적으로 예약 할 수있을 정도로 똑똑합니다.
shf301

시스템 및 / 또는 Windows 버전에 따라 다릅니다. XP가 두 코어를 50-75 %로 가리키면 두 프로세스가 두 코어로 설정되어 있으며 수동으로 설정하면 CPU가 최대가됩니다.
Synetech

@Synetech : 거의 불가능 해 보입니다. 항상 동시에 두 프로세스를 코어에서 코어로 이동해야했을 것입니다.
David Schwartz

이것에 대한 또 다른 유효한 사용 사례 : 사용 가능한 모든 CPU를 활용할 수있는 응용 프로그램이 있으며 다른 프로그램이 제대로 실행되지 못하게하거나 OS가 사용자 입력에 매우 느리게 응답하도록 할 수 있습니다. 이 경우 누군가는 그러한 응용 프로그램을 일부 CPU로만 제한하기로 결정할 수 있습니다. 개발자는 CPU를 많이 사용하는 응용 프로그램을 프로파일 링 할 때이 기능을 자주 사용합니다. 프로파일 링 자체에는 CPU가 필요하기 때문입니다.
Eyal Roth

2

선호도를 설정하면 해당 프로세스에서 실행할 수있는 프로세서를 알려줍니다.

일부 틈새 사례에는 매우 유용하지만 일반 사용자는 엉망이되어서는 안됩니다.

예를 들어 프로세스가 자체 코어를 실행하도록 허용 한 경우 70 개의 Windows 유틸리티가 자체 시간 조각에 대해 프로세서에서 지속적으로 중단되고 스택 스와핑되지 않고 실시간으로 실행될 수 있습니다. 실시간 애플리케이션은 멀티 프로세서 / 멀티 코어 시스템이 그 자체의 목적으로 애플리케이션을 지속적으로 중단 / 작업 전환하기 때문에 멀티 프로세서 / 멀티 코어 시스템이 등장하기 전에는 결코 할 수 없었던 일이었습니다. 시스템의 다른 모든 응용 프로그램이 해당 프로세서를 사용하지 못하도록하면서 실시간 응용 프로그램 하나의 프로세서를 격리하여 대부분 극복 할 수 있습니다. 이것은 매우 틈새 주제이지만 (실제) 비행 시뮬레이터, 공장 자동화 및 제어 피드백 시스템과 같은 시스템은 작동하는 실시간 아키텍처에 의존합니다.

VM과 같은 프로세서 집약적 응용 프로그램을 자체 코어로 격리하여 나머지 시스템을 크롤링하지 않고도 사용할 수 있습니다. 이론적으로 베어 메탈 하이퍼 바이저 상호 작용을 지원하는 프로세서에서 실행되는 하이퍼 바이저는 자체적으로 실행되는 독립 OS (호스트 OS를 실행하는 데 필요한 프로세서 제외)와 동일한 프로세서 성능에 도달 할 수 있습니다. 물론 실제로 자체 격리 된 코어 / 프로세서에서 실행되는 VM조차도 호스트 OS의 호스트에서 적은 양의 오버 헤드를 수용해야합니다.

대량의 데이터를 플럭스로 처리하는 응용 프로그램의 경우 응용 프로그램을 자체 프로세서에 격리하고 잠재적으로 여러 코어를 사용하면 캐시 스와핑이 줄어 듭니다.

여러 프로세서에 분산되어있을 때 깨지는 오래된 응용 프로그램은 효과적으로 문제를 해결하기 위해 하나의 코어 / 프로세서로 제한 될 수 있습니다.

특정 응용 프로그램에서 성능을 측정하는 경우 프로세스를 분리 할 수 ​​없으면 다른 시스템에서 일관된 결과를 얻는 것이 거의 불가능합니다. 그렇지 않으면 OS가 응용 프로그램에 제공하는 시간을 제어 할 수 없기 때문입니다. 대부분의 사람들은 런타임 성능을 측정한다고해서 좋은 결과를 얻을 수는 없지만 OS 개입 (결과가 일치하지 않도록하는)이 선호도를 사용하여 제한 될 수 있다고 생각한 적이 없습니다.

친화력이 중요한 경우가 많이 있지만, 자신이 무엇인지 모르는 경우에는 필요하지 않을 것입니다.


선호도를 많은 사람들이 생각하는 것보다 훨씬 덜 유용하게 만드는 것은 프로세스 선호도를 사용 가능한 CPU의 일부 하위 집합으로 설정하는 것입니다. CPU에서 다른 것을 차단하지 않습니다. 그러려면 시스템의 다른 모든 프로세스로 이동하여 원하는 CPU에서 프로세스를 제거해야합니다. 거의 실용적이지 않습니다.
Jamie Hanrahan

타사 소프트웨어를 사용하는 것이 가능 합니다 . MS가 기본적으로이 기능을 포함하지 않는 이유는 저를 넘어선 것입니다.
Evan Plaice

내가 쓴 것처럼 모든 것이 유용한 것은 아닙니다. 그리고는 아주 오용하는 경향이. 사실 선호도가 너무 "창조적"인 경우의 일반적인 결과는 그렇지 않은 경우 일이 실행되지 않는다는 것입니다. 일반적으로 선호하는 CPU라고 생각되는 것 이외의 스레드를 전혀 실행하지 않는 것보다 스레드를 실행하는 것이 좋습니다. Windows의 기본 "이상적 프로세서"및 "이전 프로세서"메커니즘은 이러한 유사성 마스크의 무딘 기기없이 우수한 캐시 일관성을 달성합니다.
Jamie Hanrahan

2

이는 특정 시나리오에서 매우 유용한 기능입니다. 검색, 빌드 등을 수행하면서 몇 분 동안 유휴 상태이거나 공격적으로 모든 CPU의 100 %를 파악하는 경향이있는 다중 스레드 응용 프로그램이 있다고 가정 해 봅시다.이 응용 프로그램을 "일식"이라고하겠습니다.

이 응용 프로그램을 작업하는 동안 CPU 요구 사항은 크지 않지만 본질적으로 실시간 응용 프로그램 인 다른 응용 프로그램이 있다고 가정 해 봅시다. 예를 들어, Eclipse를 사용 중이고 임의로 빌드를 시작하거나 gwt 컴파일을 수행하는 동안 컴퓨터를 사용하여 음악을 스트리밍하거나 브라우저 창에서 연구를 수행하는 경우 (예 : 빌드 문제의 원인 연구) . 물론, 음악을 건너 뛰거나 브라우저가 응답을 멈추더라도 죽지 않을 것이지만 성가시다.

친화력으로 할 수있는 것은 cpu eating 앱을 7/8 코어로 제한하여 다른 모든 사람이 상대적으로 사용하지 않는 cpu에 액세스 할 수 있도록하고 컴퓨터의 다른 모든 것의 유용성에 대한 끊김과 중단을 처리 할 필요가 없다는 것입니다. 일식이 갈아 타는 동안


이 경우 단순히 CPU 호그 프로세스를 낮은 우선 순위로 설정하는 것이 좋습니다.
Jamie Hanrahan

1

우선 순위가 높을수록 우선 순위가 낮은 작업보다 작업 처리가 유리하다는 것을 의미합니다. 예를 들어 응답 성이 매우 높은 응용 프로그램을 실행하고 다른 많은 비 대화식 프로세스를 수행하는 경우 우선 순위를 통해 우선 순위가 높은 프로세스에서 더 나은 경험을 보장 할 수 있습니다.

예를 들어, Windows Vista 이후 Windows Media Player는 기본적으로 다른 프로세스에서 CPU 시간의 약 20 % 만 사용하여 미디어 파일을 부드럽고 지속적으로 재생할 수 있도록 자동으로 높은 우선 순위를 갖습니다. 이것은 우선 순위가 무엇인지 이해하는 데 도움이되는 예일뿐입니다. ( 테크넷의 Vista에서 미디어 플레이어 우선 순위에 대한 자세한 내용을 볼 수 있습니다 .)

소프트 또는 하드 선호도는 프로세스가 이전에 인터럽트 된 후 나중에 다시 시작될 때 CPU 캐시에 여전히 프로세스의 나머지를 가질 수 있기 때문에 처리 속도를 증가시킬 수 있습니다.


고마워! 그렇다면 무한대 사용에 대한 좋은 가이드는 무엇입니까?
제임스 메르 츠


선호도 사용에 대한 유용한 안내서 : "안함".
Jamie Hanrahan

"다른 프로세스에 20 %의 CPU 시간 만 사용 가능"은 정확한 설명이 아닙니다. 실제 구현은 멀티미디어 클래스 스케줄러를 선택하는 스레드가 실시간 우선 순위 클래스에서 각 스케줄링 간격의 최대 80 % 동안 실행될 수 있다는 것 입니다. 꼭 그렇게 많이 사용할 필요는 없으며 그렇지 않은 경우에는 많이 사용하지 않아도됩니다. 다른 스레드에서는 20 % 이상을 사용할 수 있습니다.
Jamie Hanrahan

1

예를 들어 32 비트 게임 (응용 프로그램)이 최신 64 비트 컴퓨터에서 에뮬레이트 될 때 오래된 컴퓨터 게임 (또는 다른 소프트웨어)이 이에 대한 완벽한 예입니다. 오래된 게임의 선호도를 4 개의 코어로 제한함으로써 스터브 번 게임을 시작할 수 있도록 충돌을 피할 수 있습니다. OLD 게임, 비디오 편집자 및 하드웨어 가속 그래픽 소프트웨어 또는 CAD 소프트웨어에서 사용하는 일부 렌더링 엔진은 CPU 코어를 4 개 이상 이해하지 못하며 시작될 때 충돌이 발생합니다.

나는 이것을 게시하기 위해 계정을 만들지 않고 Google 'kieseyhow'를 찾습니다.

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