이곳은 백업 블로그 입니다. 현재 캐플이 활동 중인 블로그는 CAppleBlog.co.kr 입니다. 최신 정보들은 새로운 블로그에서 확인해 보세요. ^^

- 이곳은 기존 블로그들의 글을 한군데로 모아 놓은 백업 블로그입니다.

- 현재 링크는 대부분 올바르지 않으며 이러한 링크들은 모두 cappleblog.co.kr 로 이동합니다. (※ 링크 주의)

- 블로그와 커뮤니티는 서로 다른 공간입니다.(로그인을 따로 해야합니다.)

- 저는 윈티티(WinTT)이자 신비(ShinB)이며 캐플(CApple)입니다. 편한대로 불러주세요.

이 포스팅의 원글은 파코즈 하드웨어의 Windows 7 설치해서 전기세를 아껴 봅시다(Core Parking) 이며, 해당 글이 올라온 시점에 수정하여 블로그로 재포스팅하는 것에 대한 허락을 받은 상태에서 작성한 것입니다. 고로 이 글은 원본을 캐플의 스타일에 맞춰 재구성한 것입니다.



코어 파킹(Core Parking)이란?


윈도우 7 과 함께 출시된 서버 버전인 윈도우 서버 2008 R2 에서는 코어 파킹(Core Parking) 이라는 새로운 전원 관리 기술이 적용되고 있습니다. Core - 프로세서 코어, Parking - 주차 라는 이름에서 풍겨 나오듯이 프로세서의 코어를 파킹(Parking - Inactive)하는 기술입니다. 왜?

출처 - 마이크로소프트

서버에서 가장 많은 전기를 소모하는 부품 중 하나가 바로 CPU 입니다. 데스크탑이야 CPU 가 고작 한 개이지만 서버에서는 적게는 두 개 많게는 네 개, 여덟 개 등 여러 개가 장착되어 있고 개별적인 CPU 도 듀얼, 쿼드, 헥사, 옥타 코어와 같이 다수의 코어를 가지고 있죠. 즉, 엄청나게 많은 코어들이 동시에 일을 하고 있습니다. 그래서 그만큼 전기도 많이 잡아 먹고 열도 많이 납니다.

근데 이 모든 코어들이 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 의 성능 향상을 위한 것이므로 논외로 칩니다.


마이크로소프트의 설명에 따르면 코어 파킹을 사용하더라도 CPU 의 사용량이 높아지면 순식간에 코어의 파킹을 해제하니 실제 시스템을 사용하면서 코어 파킹을 사용하고 있다고 체감하지 못할 정도라고 이야기하고 있습니다. 코어 파킹에 대한 좀 더 자세한 내용은 아래의 글을 참고해 보시면 좋을 듯 합니다.



코어 파킹은 서버를 위해 개발된 기술이지만 이젠 쿼드가 기본이며 헥사는 옵션이다 라고 할 정도로 데스크탑 환경도 다수의 코어를 가지고 있는 상황이다 보니 데스크탑 환경에서도 코어 파킹 기술이 전력 감소와 발열 해소를 위한 좋은 선택이 될 수도 있다고 생각합니다.

코어 파킹을 적용하기 전

코어 파킹은 엄밀히 말하자면 서버 환경에서 사용하기 위해 개발된 기술입니다. 그렇기 때문에 일반 데스크탑 환경에선 사용자나 환경에 따라 오히려 더 나쁜 결과를 가져올 수 도 있으며 일부 프로그램이나 게임 등에서는 성능의 저하가 일어날 수도 있습니다.

또한 코어 파킹은 위의 글에서 나온 것과 같이 프로세서의 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


이 키들에는 모두 Attributes 라는 DWORD 값이 존재하고 있습니다. 값들을 모두 0 으로 바꿔 주면 코어 파킹이 적용 됩니다. 값들을 다시 1 로 바꿔 주면 코어 파킹이 비활성화 됩니다. 쉽죠? 근데 귀찮습니다. 키들 이름도 디립다 어렵고...

그래서 배치 파일을 제공해 드리겠습니다. 배치 파일은 코어 파킹을 활성화 또는 비활성화 할 수 있도록 제작하였습니다. 배치 파일은 관리자 권한으로 실행하시면 됩니다. 작업을 마치고 익스플로러를 한 번 재시작하니 주의하세요.





코어 파킹을 활성화하면 전원 관리 옵션의 프로세서 전원 관리 항목이 아래와 같이 바뀌게 됩니다. 코어 파킹 기능이 활성화 된 것이죠.






코어 파킹 설정하기


전원 관리 옵션의 프로세서 전원 관리 항목 중 다른 부분은 건드리지 마시고 아래의 내용을 자신의 상황에 맞게 적용하시기 바랍니다.

프로세서 성능 코어 파킹 최소 코어 - 듀얼 코어인 경우 50%, 쿼드 코어인 경우 25%
스로틀 상태 허용 - 설정
프로세서 성능 코어 파킹 코어 재정의 - 사용 안 함
프로세서 성능 코어 파킹 최대 코어 - 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 의 사용량에 따라 나머지 하나는 파킹될 수 도 되지 않을 수도 있는거죠.





코어 파킹이 적용된 모습


설정을 마친 후 다시 리소스 모니터에서 파킹 상태를 살펴 본 모습입니다. 특별한 작업을 하지 않고 간단하게 인터넷만 사용하니 코어 하나가 중간 중간 파킹되는 모습을 확인할 수 있습니다.



성능 모니터에서 코어의 파킹 상태를 살펴본 모습입니다. 1 은 파킹 상태 0 은 파킹 해제 상태입니다. 평균 0.530 은 측정 기간동안 53% 정도의 시간 동안 해당 코어가 파킹되었다는 뜻입니다.




이상입니다. 그럼 잘 활용하시길 바랍니다. ^^




☞ 고급 전원 관리 옵션으로 들어가는 방법

제어판 -> 시스템 및 보안 -> 전원 옵션 -> 사용 중인 전원 옵션의 설정 변경 -> 고급 전원 관리 설정 옵션 변경



☞ 리소스 모니터 성능 모니터로 들어가는 방법

제어판(보기 기준 - 큰 아이콘) -> 성능 정보 및 도구 -> 고급 도구 -> 성능 모니터 열기 or 리소스 모니터 열기

또는

시작 -> 검색 -> 모니터 -> 성능 모니터 or 리소스 모니터 클릭



☞ 성능 모니터에서 Parking Status 확인하는 방법

성능 모니터로 들어간 후 좌측 메뉴의 성능 -> 모니터링 도구 -> 성능 모니터로 들어갑니다. 그 후 + 추가 버튼을 클릭합니다. 카운터 추가 창이 열리면 Processor Information 을 펼친 후 목록 중 Parking Status 항목을 선택합니다. 그런 후 <모든 인스턴스>를 선택하고 추가 버튼을 클릭합니다. 추가된 카운터를 확인한 후 확인 버튼을 클릭합니다.





: