윈도우 7 에서 코어 파킹(Core Parking) 기능 활용하기
기존 자료 백업 2010. 8. 12. 07:00 |이곳은 백업 블로그 입니다. 현재 캐플이 활동 중인 블로그는 CAppleBlog.co.kr 입니다. 최신 정보들은 새로운 블로그에서 확인해 보세요. ^^
- 이곳은 기존 블로그들의 글을 한군데로 모아 놓은 백업 블로그입니다.
- 현재 링크는 대부분 올바르지 않으며 이러한 링크들은 모두 cappleblog.co.kr 로 이동합니다. (※ 링크 주의)
- 블로그와 커뮤니티는 서로 다른 공간입니다.(로그인을 따로 해야합니다.)
- 저는 윈티티(WinTT)이자 신비(ShinB)이며 캐플(CApple)입니다. 편한대로 불러주세요.
이 포스팅의 원글은 파코즈 하드웨어의 Windows 7 설치해서 전기세를 아껴 봅시다(Core Parking) 이며, 해당 글이 올라온 시점에 수정하여 블로그로 재포스팅하는 것에 대한 허락을 받은 상태에서 작성한 것입니다. 고로 이 글은 원본을 캐플의 스타일에 맞춰 재구성한 것입니다.
코어 파킹(Core Parking)이란?
윈도우 7 과 함께 출시된 서버 버전인 윈도우 서버 2008 R2 에서는 코어 파킹(Core Parking) 이라는 새로운 전원 관리 기술이 적용되고 있습니다. Core - 프로세서 코어, Parking - 주차 라는 이름에서 풍겨 나오듯이 프로세서의 코어를 파킹(Parking - Inactive)하는 기술입니다. 왜?
출처 - 마이크로소프트
근데 이 모든 코어들이 1년 365일 24시간 잠시도 쉬지 않고 항상 뭣 빠지게 일을 하고 있느냐? 아니죠! 일이 없을 때는 좀 쉬엄 쉬엄 놀고 있는 코어들도 분명 있습니다. 그럼 이 녀석들을 그냥 둘 것이냐? 조금씩 쉬엄 쉬엄 놀면서 작업하면서 전기 잡아먹고 열 낼거라면 차라리 처리할 수 있을 만큼의 녀석들만 일하고 나머지는 그냥 아예 쉬면서 전기도 쓰지 말고 열도 내지마라! 하는 게 낫겠죠?
즉, 프로세서가 과도하게 사용되지 않을 경우 특정 코어의 사용률이 어느 정도 수준이 될 때까지 다른 코어는 파킹된 상태(쉬는 상태)로 처리하여 전력 사용을 낮추고 더불어 발열 문제도 해결하는 기술이 바로 코어 파킹입니다.
Core Parking 과 Speed Step, Cool'n'Quiet
코어 파킹은 윈도우 서버 2008 R2 에서 새롭게 선보인 전원 관리 기술입니다.[윈도우 7 에도 있지만 비활성화된 상태] 운영체제 차원에서 CPU 의 사용률에 따라 사용할 코어의 개수를 설정하여 나머지 코어들은 파킹해 놓음으로써[쉬게 함으로써] 전력 소모를 줄이는 것 입니다.
반면 인텔의 스피드 스탭과 AMD 의 쿨 앤 콰이어트는 물리적인 CPU 에 자체적으로 내장된 전원 관리 기술로 CPU 의 사용률에 따라 코어의 클럭과 전압을 낮춰줌으로써[성능을 떨어트림으로써] 전력 소모를 줄이는 것 입니다.
즉, 1GHz 의 쿼드 코어 CPU 가 있고 현재 CPU 의 사용률이 낮은 상태라면 코어 파킹은 CPU 의 클럭은 그대로 1GHz 인 상태에서 지정한 개수의 코어만 사용하고 나머지는 쉬는 상태로 두는 것이고 스피드 스탭과 쿨 앤 콰이어트는 특별히 쉬도록 지정해주는 코어 없이 CPU 에 공급되는 전압과 배수를 낮춰 CPU 의 클럭 자체를 500MHz 와 같이 낮추는 것 입니다.
이와는 좀 다른 기술로 스레드에 따라 특정 코어만을 자동으로 오버클러킹(Over Clocking)하여 단일 스레드 작업의 성능을 높여주는 인텔의 터보 부스트와(Turbo Boost) AMD 의 터보 코어(Turbo Core) 라는 기술도 있습니다. 이는 전원 관리 기술이라기 보다는 CPU 의 성능 향상을 위한 것이므로 논외로 칩니다.
코어 파킹은 윈도우 서버 2008 R2 에서 새롭게 선보인 전원 관리 기술입니다.[윈도우 7 에도 있지만 비활성화된 상태] 운영체제 차원에서 CPU 의 사용률에 따라 사용할 코어의 개수를 설정하여 나머지 코어들은 파킹해 놓음으로써[쉬게 함으로써] 전력 소모를 줄이는 것 입니다.
반면 인텔의 스피드 스탭과 AMD 의 쿨 앤 콰이어트는 물리적인 CPU 에 자체적으로 내장된 전원 관리 기술로 CPU 의 사용률에 따라 코어의 클럭과 전압을 낮춰줌으로써[성능을 떨어트림으로써] 전력 소모를 줄이는 것 입니다.
즉, 1GHz 의 쿼드 코어 CPU 가 있고 현재 CPU 의 사용률이 낮은 상태라면 코어 파킹은 CPU 의 클럭은 그대로 1GHz 인 상태에서 지정한 개수의 코어만 사용하고 나머지는 쉬는 상태로 두는 것이고 스피드 스탭과 쿨 앤 콰이어트는 특별히 쉬도록 지정해주는 코어 없이 CPU 에 공급되는 전압과 배수를 낮춰 CPU 의 클럭 자체를 500MHz 와 같이 낮추는 것 입니다.
이와는 좀 다른 기술로 스레드에 따라 특정 코어만을 자동으로 오버클러킹(Over Clocking)하여 단일 스레드 작업의 성능을 높여주는 인텔의 터보 부스트와(Turbo Boost) AMD 의 터보 코어(Turbo Core) 라는 기술도 있습니다. 이는 전원 관리 기술이라기 보다는 CPU 의 성능 향상을 위한 것이므로 논외로 칩니다.
마이크로소프트의 설명에 따르면 코어 파킹을 사용하더라도 CPU 의 사용량이 높아지면 순식간에 코어의 파킹을 해제하니 실제 시스템을 사용하면서 코어 파킹을 사용하고 있다고 체감하지 못할 정도라고 이야기하고 있습니다. 코어 파킹에 대한 좀 더 자세한 내용은 아래의 글을 참고해 보시면 좋을 듯 합니다.
코어 파킹은 서버를 위해 개발된 기술이지만 이젠 쿼드가 기본이며 헥사는 옵션이다 라고 할 정도로 데스크탑 환경도 다수의 코어를 가지고 있는 상황이다 보니 데스크탑 환경에서도 코어 파킹 기술이 전력 감소와 발열 해소를 위한 좋은 선택이 될 수도 있다고 생각합니다.
코어 파킹을 적용하기 전
코어 파킹은 엄밀히 말하자면 서버 환경에서 사용하기 위해 개발된 기술입니다. 그렇기 때문에 일반 데스크탑 환경에선 사용자나 환경에 따라 오히려 더 나쁜 결과를 가져올 수 도 있으며 일부 프로그램이나 게임 등에서는 성능의 저하가 일어날 수도 있습니다.
또한 코어 파킹은 위의 글에서 나온 것과 같이 프로세서의 C-state 와 관련이 있기 때문에 프로세서의 지원하는 C-state 상태에 따라 전력 소모의 감소가 제대로 이루어지지 않을 수 있습니다.[논리적으로는 해당 코어를 파킹하고 사용하고 있지 않지만 물리적으로는 해당 코어에 전원이 차단되지 않아 전력 감소 효과가 미미하거나 없음] 이러한 연유로 스피드 스탭이나 쿨 앤 콰이어트와 동시에 사용할 경우 오히려 스피드 스탭, 쿨 앤 콰이어트만을 단일로 사용했을 때 보다 오히려 전력 소모가 늘어날 수 도 있습니다.
그러니 직접 적용해 보시고 자신의 환경에서 전력 소모 감소나 발열 해소의 효과가 느껴지고 그 결과가 마음에 든다면 계속 적용하여 사용하면 되고 별 효과도 못 느낄 뿐더러 자신이 자주 애용하는 특정 프로그램에서 오류나 성능의 저하가 일어난다면 적용을 해제하시면 됩니다.
코어 파킹은 엄밀히 말하자면 서버 환경에서 사용하기 위해 개발된 기술입니다. 그렇기 때문에 일반 데스크탑 환경에선 사용자나 환경에 따라 오히려 더 나쁜 결과를 가져올 수 도 있으며 일부 프로그램이나 게임 등에서는 성능의 저하가 일어날 수도 있습니다.
또한 코어 파킹은 위의 글에서 나온 것과 같이 프로세서의 C-state 와 관련이 있기 때문에 프로세서의 지원하는 C-state 상태에 따라 전력 소모의 감소가 제대로 이루어지지 않을 수 있습니다.[논리적으로는 해당 코어를 파킹하고 사용하고 있지 않지만 물리적으로는 해당 코어에 전원이 차단되지 않아 전력 감소 효과가 미미하거나 없음] 이러한 연유로 스피드 스탭이나 쿨 앤 콰이어트와 동시에 사용할 경우 오히려 스피드 스탭, 쿨 앤 콰이어트만을 단일로 사용했을 때 보다 오히려 전력 소모가 늘어날 수 도 있습니다.
그러니 직접 적용해 보시고 자신의 환경에서 전력 소모 감소나 발열 해소의 효과가 느껴지고 그 결과가 마음에 든다면 계속 적용하여 사용하면 되고 별 효과도 못 느낄 뿐더러 자신이 자주 애용하는 특정 프로그램에서 오류나 성능의 저하가 일어난다면 적용을 해제하시면 됩니다.
코어 파킹이 비활성화 된 윈도우 7
일단 윈도우 7 의 리소스 모니터를 통해 CPU 의 사용량을 모니터링 한 모습과 성능 모니터에서 코어 파킹 부분을 살펴본 모습입니다. 기본적으로 코어 파킹이 비활성화되어 사용되지 않고 있으며 성능 모니터에서 코어 파킹 상태를 추적해 보아도 사용되지 않고 있는 것을 확인할 수 있습니다.
제어판의 전원 관리 옵션에서도 코어 파킹에 대한 어떠한 내용도 찾을 수 없습니다.
이야기 했지만 코어 파킹은 서버 환경을 위해 개발된 전원 관리 기술입니다. 그렇기 때문에 서버 운영체제인 윈도우 서버 2008 R2 에서는 기본적으로 활성화되어 있지만 같은 버전의 데스크탑 운영체제인 윈도우 7 에서는 기본적으로 비활성화되어 있습니다. 그렇기 때문에 윈도우 7 에서 코어 파킹을 사용하기 위해선 사용자가 수동으로 활성화 시켜 주어야 합니다.
코어 파킹 활성화하기
윈도우 7 에서 코어 파킹을 활성화하기 위해선 레지스트리를 편집해야 합니다. 레지스트리 편집기를 실행한 후 다음의 레지스트리 키로 이동합니다.
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Power\PowerSettings\54533251-82be-4824-96c1-47b60b740d00
그러면 해당 키의 하위에 아래의 키들이 존재하고 있습니다.
0cc5b647-c1df-4637-891a-dec35c318583
3b04d4fd-1cc7-4f23-ab1c-d1337819c4bb
447235c7-6a8d-4cc0-8e24-9eaf70b96e2b
5d76a2ca-e8c0-402f-a133-2158492d58ad
a55612aa-f624-42c6-a443-7397d064c04f
ea062031-0e34-4ff1-9b6d-eb1059334028
3b04d4fd-1cc7-4f23-ab1c-d1337819c4bb
447235c7-6a8d-4cc0-8e24-9eaf70b96e2b
5d76a2ca-e8c0-402f-a133-2158492d58ad
a55612aa-f624-42c6-a443-7397d064c04f
ea062031-0e34-4ff1-9b6d-eb1059334028
이 키들에는 모두 Attributes 라는 DWORD 값이 존재하고 있습니다. 값들을 모두 0 으로 바꿔 주면 코어 파킹이 적용 됩니다. 값들을 다시 1 로 바꿔 주면 코어 파킹이 비활성화 됩니다. 쉽죠? 근데 귀찮습니다. 키들 이름도 디립다 어렵고...
그래서 배치 파일을 제공해 드리겠습니다. 배치 파일은 코어 파킹을 활성화 또는 비활성화 할 수 있도록 제작하였습니다. 배치 파일은 관리자 권한으로 실행하시면 됩니다. 작업을 마치고 익스플로러를 한 번 재시작하니 주의하세요.
코어 파킹을 활성화하면 전원 관리 옵션의 프로세서 전원 관리 항목이 아래와 같이 바뀌게 됩니다. 코어 파킹 기능이 활성화 된 것이죠.
코어 파킹 설정하기
전원 관리 옵션의 프로세서 전원 관리 항목 중 다른 부분은 건드리지 마시고 아래의 내용을 자신의 상황에 맞게 적용하시기 바랍니다.
프로세서 성능 코어 파킹 최소 코어 - 듀얼 코어인 경우 50%, 쿼드 코어인 경우 25%
스로틀 상태 허용 - 설정
프로세서 성능 코어 파킹 코어 재정의 - 사용 안 함
프로세서 성능 코어 파킹 최대 코어 - 100%
스로틀 상태 허용 - 설정
프로세서 성능 코어 파킹 코어 재정의 - 사용 안 함
프로세서 성능 코어 파킹 최대 코어 - 100%
듀얼 코어 기준 설정 값
프로세서 성능 코어 파킹 최소 코어
최소 파킹 해제 코어의 수를 전체 코어의 백분율로 지정합니다. 이 말은 CPU 가 아이들 상태일 때(놀 때) 파킹 상태를 해제할 코어의 개수를 지정해 주는 것 입니다. 즉, CPU 가 아이들 상태일 때 파킹하지 않고 사용할 코어의 개수를 백분율로 넣어주시면 됩니다. 백분율의 계산법은 파킹 해제할 코어 개수/ 전체 코어 개수로 하시면 됩니다. 즉, 쿼드 코어를 예로 놓고 설명을 드리자면
1/4 = 25% -> CPU 아이들시 코어 1 개 작동 3 개 파킹
2/4 = 50% -> CPU 아이들시 코어 2 개 작동 2 개 파킹
3/4 = 75% -> CPU 아이들시 코어 3 개 작동 1 개 파킹
4/4 = 100% -> CPU 아이들시 코어 4 개 작동 0 개 파킹
이와 같이 되는 것 입니다.
프로세서 성능 코어 파킹 최대 코어
최대 파킹 해제 코어의 수를 전체 코어의 백분율로 지정합니다. 이 말은 CPU 가 풀로드 상태일 때(바쁠 때) 파킹 상태를 해제할 코어의 개수를 지정해 주는 것 입니다. 즉, 풀로드 상태일 때 파킹 상태를 해제하고 사용할 코어의 개수를 백분율로 넣어주시면 됩니다. 백분율의 계산법은 파킹 해제할 코어 개수/전체 코어 개수로 하시면 됩니다. 즉, 쿼드 코어를 예로 놓고 설명을 드리자면
1/4 = 25% -> CPU 풀로드시 코어 1 개 작동 3 개 파킹
2/4 = 50% -> CPU 풀로드시 코어 2 개 작동 2 개 파킹
3/4 = 75% -> CPU 풀로드시 코어 3 개 작동 1 개 파킹
4/4 = 100% -> CPU 풀로드시 코어 4 개 작동 0 개 파킹
와 같이 되는 것 입니다. 기본적으로 100% 로 놓으시면 됩니다.
프로세서 성능 코어 파킹 코어 재정의
하나의 코어에 두 개의 스레드가 생성되는 하이퍼스레딩과 관련된 옵션입니다. 하이퍼스레딩이 적용된 CPU 의 경우 하나의 코어가 두 개의 스레드로 구성이 되어 있습니다.(논리적으로 두 개의 코어로 작동) 이 때 하나의 코어에 존재하는 두 개의 스레드를 하나의 스레드로 묶어서 적용할 것인지 두 개의 스레드로 나눠서 적용할 것인지를 설정하는 옵션입니다.
사용 안 함으로 설정하면 두 개의 스레드로 나누어서 각각 적용한다는 것이고 사용으로 설정하면 두 개의 스레드를 하나로 묶어서 하나의 스레드로 처리한다는 것 입니다.
즉, 사용으로 설정하여 두 개의 스레드를 하나로 묶어서 적용했을 때에는 코어에서 하나의 스레드가 파킹이 되면 나머지 하나도 자동으로 함께 파킹이 되고 사용 안 함으로 설정하면 두 개의 스레드는 별개로 적용되어 각각 따로 파킹이 적용 됩니다. 고로 하나의 스레드가 파킹되더라도 CPU 의 사용량에 따라 나머지 하나는 파킹될 수 도 되지 않을 수도 있는거죠.
최소 파킹 해제 코어의 수를 전체 코어의 백분율로 지정합니다. 이 말은 CPU 가 아이들 상태일 때(놀 때) 파킹 상태를 해제할 코어의 개수를 지정해 주는 것 입니다. 즉, CPU 가 아이들 상태일 때 파킹하지 않고 사용할 코어의 개수를 백분율로 넣어주시면 됩니다. 백분율의 계산법은 파킹 해제할 코어 개수/ 전체 코어 개수로 하시면 됩니다. 즉, 쿼드 코어를 예로 놓고 설명을 드리자면
1/4 = 25% -> CPU 아이들시 코어 1 개 작동 3 개 파킹
2/4 = 50% -> CPU 아이들시 코어 2 개 작동 2 개 파킹
3/4 = 75% -> CPU 아이들시 코어 3 개 작동 1 개 파킹
4/4 = 100% -> CPU 아이들시 코어 4 개 작동 0 개 파킹
이와 같이 되는 것 입니다.
프로세서 성능 코어 파킹 최대 코어
최대 파킹 해제 코어의 수를 전체 코어의 백분율로 지정합니다. 이 말은 CPU 가 풀로드 상태일 때(바쁠 때) 파킹 상태를 해제할 코어의 개수를 지정해 주는 것 입니다. 즉, 풀로드 상태일 때 파킹 상태를 해제하고 사용할 코어의 개수를 백분율로 넣어주시면 됩니다. 백분율의 계산법은 파킹 해제할 코어 개수/전체 코어 개수로 하시면 됩니다. 즉, 쿼드 코어를 예로 놓고 설명을 드리자면
1/4 = 25% -> CPU 풀로드시 코어 1 개 작동 3 개 파킹
2/4 = 50% -> CPU 풀로드시 코어 2 개 작동 2 개 파킹
3/4 = 75% -> CPU 풀로드시 코어 3 개 작동 1 개 파킹
4/4 = 100% -> CPU 풀로드시 코어 4 개 작동 0 개 파킹
와 같이 되는 것 입니다. 기본적으로 100% 로 놓으시면 됩니다.
프로세서 성능 코어 파킹 코어 재정의
하나의 코어에 두 개의 스레드가 생성되는 하이퍼스레딩과 관련된 옵션입니다. 하이퍼스레딩이 적용된 CPU 의 경우 하나의 코어가 두 개의 스레드로 구성이 되어 있습니다.(논리적으로 두 개의 코어로 작동) 이 때 하나의 코어에 존재하는 두 개의 스레드를 하나의 스레드로 묶어서 적용할 것인지 두 개의 스레드로 나눠서 적용할 것인지를 설정하는 옵션입니다.
사용 안 함으로 설정하면 두 개의 스레드로 나누어서 각각 적용한다는 것이고 사용으로 설정하면 두 개의 스레드를 하나로 묶어서 하나의 스레드로 처리한다는 것 입니다.
즉, 사용으로 설정하여 두 개의 스레드를 하나로 묶어서 적용했을 때에는 코어에서 하나의 스레드가 파킹이 되면 나머지 하나도 자동으로 함께 파킹이 되고 사용 안 함으로 설정하면 두 개의 스레드는 별개로 적용되어 각각 따로 파킹이 적용 됩니다. 고로 하나의 스레드가 파킹되더라도 CPU 의 사용량에 따라 나머지 하나는 파킹될 수 도 되지 않을 수도 있는거죠.
코어 파킹이 적용된 모습
설정을 마친 후 다시 리소스 모니터에서 파킹 상태를 살펴 본 모습입니다. 특별한 작업을 하지 않고 간단하게 인터넷만 사용하니 코어 하나가 중간 중간 파킹되는 모습을 확인할 수 있습니다.
성능 모니터에서 코어의 파킹 상태를 살펴본 모습입니다. 1 은 파킹 상태 0 은 파킹 해제 상태입니다. 평균 0.530 은 측정 기간동안 53% 정도의 시간 동안 해당 코어가 파킹되었다는 뜻입니다.
이상입니다. 그럼 잘 활용하시길 바랍니다. ^^
☞ 고급 전원 관리 옵션으로 들어가는 방법
제어판 -> 시스템 및 보안 -> 전원 옵션 -> 사용 중인 전원 옵션의 설정 변경 -> 고급 전원 관리 설정 옵션 변경
☞ 리소스 모니터 성능 모니터로 들어가는 방법
제어판(보기 기준 - 큰 아이콘) -> 성능 정보 및 도구 -> 고급 도구 -> 성능 모니터 열기 or 리소스 모니터 열기
또는
시작 -> 검색 -> 모니터 -> 성능 모니터 or 리소스 모니터 클릭
☞ 성능 모니터에서 Parking Status 확인하는 방법
성능 모니터로 들어간 후 좌측 메뉴의 성능 -> 모니터링 도구 -> 성능 모니터로 들어갑니다. 그 후 + 추가 버튼을 클릭합니다. 카운터 추가 창이 열리면 Processor Information 을 펼친 후 목록 중 Parking Status 항목을 선택합니다. 그런 후 <모든 인스턴스>를 선택하고 추가 버튼을 클릭합니다. 추가된 카운터를 확인한 후 확인 버튼을 클릭합니다.