CnQ또는 SS는 전압과 클럭을 낮춰서 전력을 절약하는 기술입니다. 전력소비는 클럭에 비례하고, 전압의 제곱에 비례하기 때문에 CnQ를 사용할 때, 클럭 뿐 아니라 전압까지 낮아져야 제대로 된 효과를 볼 수 있습니다.
대부분의 오버클러커들은 Cool‘n’Quiet또는 Speed Step을 사용하지 않습니다. 왜냐하면 오버클럭을 하는 것은 성능을 높이기 위해서이지만, CnQ또는 SS를 사용하면 오히려 성능이 감소하기 때문입니다.
하지만 Windows의 전원 옵션을 세세하게 변경할 수 있다면 CnQ 또는 SS를 사용하더라도 최대한의 성능을 이끌어낼 수 있습니다. CnQ 또는 SS를 사용하지 않을 때보다는 성능이 낮겠지만, 오버클럭의 효과는 누리면서 장시간 사용하지 않을 때는 CnQ또는 SS의 전력절약/발열관리 효과를 볼 수 있다는 장점이 있습니다. 게다가 요즘의 8코어 시스템에서는 게임같은 작업을 하더라도 최적화 수준에 따라 작동하지 않는 코어가 있을 수 있습니다. 그러면 게임 중에도 전력을 절약할 수 있습니다.
저는 컴퓨터를 장시간 켜두는 편이고, 때문에 오버클럭을하더라도 CnQ또는 SS는 켜두는 것을 선호합니다.
인텔
그런데 문제가 있습니다. 라이젠만의 문제인지는 모르겠습니다만, 인텔처럼 간단하게 CnQ를 켤 수 없었습니다. 인텔은 SS을 켜고 오버클럭하는 게 어렵지 않았습니다.
위 사진의 CPU Vcore Voltage Mode를 Adaptive Mode로 설정하면 최고 클럭에서만 설정된 전압으로 오버클럭이 되고, Speed Step이 작동하는 낮은 클럭에서는 기본전압이 인가됩니다. 설명에는 CPU에 많은 작업이 걸려있을 때에 전압을 추가한다고 되어 있습니다.
라이젠
하지만 라이젠은 다릅니다.
위 사진을 보면 라이젠에서는 CPU Vcore Volate 설정에 Auto, Offset Mode, Fixed Mode 뿐입니다.
Offset Mode를 사용하면 CnQ가 작동하는 낮은 클럭에서도 전압 보정이 들어갑니다. 높은 전압으로 오버클럭 하는 경우에는 CnQ가 작동하더라도 전압이 높게 잡히는 것입니다.
다행히 라이젠은 각 Pstate를 변경할 수 있습니다.
여기서 최고클럭에서(Pstate0)만 전압과 클럭을 올려주면 됩니다. 이것은 CnQ를 사용하지 않는 오버클러커들도 거치는 과정이어서 어렵지 않습니다.
이렇게 끝나면 포스트를 작성하지 않았을 것이다.
문제는 바이오스에서 Pstate0를 바꿀 때, 기본 전압보다 높으면 Pstate0 상태에 도달하지 않는다는 것입니다.
CnQ를 껐을 때는 Pstate0의 전압을 마구잡이로 올려도 상관 없지만, CnQ가 작동 중일 때는 기본 전압보다 높으면 해당 Pstate로는 CPU 상태전환이 이루어지지 않습니다.
여기서 기본 전압은 1700의 경우에는 1.18750V이다.
1600이나 1700X같은 3.6Ghz 모델은 1.35V일 것으로 추측된다.
그러니 Custom Pstates 설정에서 Pstate0는 기본 전압으로 두고, 다른 상태의 전압을 바꿔주면 됩니다.
본격 작업
그래서 전압 보정과, Custom Pstates 기능 두가지를 이용해서 CnQ가 제 기능을 하도록 해보겠습니다.
당연한 이야기지만 오버클럭 안정화는 인텔이든 AMD든 상관 없이, SS 또는 CnQ를 끄고 해야 합니다. 안정화된 값을 기억합니다. 저는 3.775Ghz의 클럭이 1.3V에서 안정화가 되었습니다.
오버 클럭
이제 바이오스에서 Custom Pstates 설정에 들어갑니다.
제가 필요한 전압은 1.3V이지만 CPU의 기본 전압인 1.18750V로 지정했습니다. CPU에 더 필요한 전압은 0.11250V입니다.
이제 전압 보정을 해줍니다.
여기서 전압을 Offset Mode로 설정하고, 0.11250의 전압을 추가로 줍니다. 이제 Pstate0는 3.3775Ghz이고, 1.3V입니다.
다른 상태의 전압 변경
이제 CnQ가 작동하는 낮은 클럭에서의 전압을 다시 보정해줍니다. 다시 Custom Pstates 설정 화면에 들어갑니다.
여기서 Pstate1, Pstate2의 전압을 0.11250씩 빼줍니다.
저는 Pstate1를 오버클럭하고 Pstate2는 언더볼트했습니다..
3.6Ghz모델, 4.0Ghz모델은 Pstate1, Pstate2의 기본값 또한 다릅니다.
AMD의 메인보드들은 Bios에 AGESA(AMD Generic Encapsulated System Architecture) 소프트웨어가 포함되어 있습니다.
Custom Pstates 설정에서는 AGESA의 옵션이어서 CPU의 기본전압 보다 높으면 해당 상태에 도달하지 않지만, Offset을 이용하여 높은 전압을 주는 것은 메인보드 자체의 전압 조절 옵션이어서 가능한 게 아닌가 생각해봅니다. 그러니까 Bios내에 CPU를 위한 별도의 소프트웨어가 있고, 이는 메인보드 Bios 소프트웨어와 별도로 작동하는 듯합니다. 이 부분은 제 추측에 불과하지만 가장 합리적인 추측인 듯합니다.
작업 관리자에서는 기본 속도가 Pstate0에서 설정한 클럭이 표시되지만, 실제로 상태전환은 되지 않고 풀로드시에도 CnQ의 낮은 클럭으로 작동할 때는 위 단계를 따라야 합니다.
Custom Pstates기능은 AGESA기능(-AGESA기능인 것은 추측입니다)이므로 모든 x370, b350보드에 포함되며, a320보드는 확인해봐야 합니다.
Offset Mode는 Asrock, Asus보드에서 확실히 지원합니다. Gigabyte는 Dynamic Vcore라는 기능이 있습니다. 같은 기능일 것으로 보입니다. Biostar는 Offset Mode를 지원하지 않는 것으로 확인 되었습니다.
Afterburner 프로그램을 설치하면 RivaTunner Statistics Server를 자동으로 설치하기 때문에 많은 유저들이 RTTS와 Afterburner를 연결지어 생각합니다.
하지만 두 프로그램은 서로 다른 제작자에 의한 서로 다른 프로그램입니다.
RTTS는 모니터링 프로그램에서 전달받은 데이터를 D3D, OGL프로그램에 오버레이를 띄우는 기능을 합니다. 그래서 생각보다 많은 모니터링 프로그램이 RTTS를 지원합니다.
그 중 많은 사람들이 모니터링할 때 이용하는 HWiNFO64를 소개하려고 합니다. Afterburner는 O.C용 유틸리티이기 때문에 RTTS를 지원하지만 모니터링 기능이 약합니다. 반면에 HWiNFO64는 모니터링이 주 목적이기 때문에 모니터링 기능이 강력합니다. HWiNFO64는 CPU전압, CPU 클럭, CPU Power에 대한 모니터가 가능하고, 메인보드에 연결 된 팬이나 온도 모니터링이 가능합니다.
RTTS에서 HWiNFO64 사용하기
하지만 "OSD에 표시" 체크만으로는 Afterburner에 비해 가독성이 떨어지는 단점이 있습니다. 별도의 설정을 하지 않으면 한 줄에 모든 모니터 값이 표시됩니다. 그리고 섭씨(°C)표시가 되지 않아서 °C대신 C를 사용해야 합니다. 게다가 모니터링 대상이 많기 때문에 CPU사용량도 비교적 높습니다.(Afterburner : 0.2% HWiNFO64 : 0.7~1.0%)
그래서 HWiNFO64에서 따로 설정해야 가독성이 높아지고 리소스 사용이 감소합니다.
먼저 HWiNFO64에서 센서 창을 엽니다.
하단의 버튼 중 오른쪽에서 두번째에 있는 버튼을 클릭합니다.(HWiNFO64설정에 따라 아이콘이 보입니다.)
여기서 Polling Frequency와 Show Values를 CPU 사용량을 고려하여 편하게 설정합니다.
레이아웃 탭에서는 각 항목별로 표시하지 않을 항목을 선택할 수 있습니다.
저의 경우는 이렇게 해서 CPU사용량이 0.1%~0.4%가 되었습니다.
HWiNFO64는 CPU끼리 항목을 묶어서 표시하지 않습니다. 또한, CPU끼리 한 줄에 표시하더라도 CPU라는 라벨이 붙지 않습니다.
때문에 CPU열에 표시될 항목의 첫 번째로 표시할 항목의 Label을 변경해야 합니다. 첫 번째가 아닌 항목의 라벨을 변경하면 라벨의 첫 글자에 ", "가 붙습니다. CPU의 항목을 한 줄에 표시하는 방법은 다음 단계에 있습니다.
Decimal Digits에서 소숫점 자릿수를 설정할 수 있고, Thousands Separator에서 천의 자릿수 표시를 바꿀 수 있습니다.
저는 CPU열 첫 번째에 CPU온도를 표시할 것이기 때문에 메인보드에서 리포트하는 CPU온도의 이름을 CPU이름으로 바꿨습니다.
또한 섭씨°C표시가 되지 않아서 °C대신 C를 사용했습니다. Decimal Digits는 모두 0이고, Thousands Separator는 빈 칸입니다.
스토리지를 새로 구입하고 나면 데이터를 옮기면서 정리하는 것은 정해진 순서가 아닌가 싶습니다.
특히나 SSD는 프로그램을 주로 설치하는데, 용량이 작은 편이어서 데이터 이동을 더 자주 하게 됩니다.
Windows가 설치 된 드라이브라면 마이그레이션 툴을 이용하면 되지만, C:가 아닌 다른 드라이브에 프로그램을 설치했다면 새로운 드라이브의 드라이브 레터를 바뀌지 않도록 고려해서 용량을 선택하곤 합니다.
새로운 파티션을 만들 때도, 기존의 파티션에 설치된 프로그램을 최대한 유지하도록 새 파티션을 만듭니다.
또한 기존에 프로그램을 저장했던 드라이브에 기타 파일들을 저장하고 싶을 때, 프로그램 폴더와 기타 파일을 구분하기 위해 프로그램 폴더를 옮길 필요가 생기기도 합니다.
하지만, 다음에서 소개할 방법을 사용하면 새로운 드라이브를 구입하는 데 있어서 드라이브 레터를 고민 할 필요가 없습니다.
프로그램 폴더도 자유롭게 옮길 수 있습니다.
레지스트리를 수정해야 하는 프로그램
Windows에서 프로그램을 구현하는 방법은 Registry와 File로 이루어집니다. 옮겨야 할 것은 Registry와 File입니다.
제어판의 프로그램 제거에 나타나는 프로그램들은 레지스트리에 키가 있는 프로그램들입니다. 시작프로그램도 레지스트리를 통해 구현됩니다. 최근 문서, 최근 실행 목록 등도 레지스트리로 구현됩니다.
무설치로도 이용이 가능한 프로그램은 레지스트리까지 변경할 필요가 없습니다.
클라이언트 자체에 설치정보가 저장되는 스팀 게임은 레지스트리를 수정할 필요가 없습니다. 또한 자체 런처로 실행되는 프로그램들 일부분은 레지스트리를 수정하지 않아도 됩니다.(예 : 메이플스토리)
하지만 웹에서 실행하는 프로그램(예 : 넥슨 게임), 클라이언트로 실행하는 프로그램(예 : 오리진 게임)은 레지스트리를 수정해야 합니다. 연결프로그램으로 등록된 프로그램(예 : 워드프로세서, 압축 프로그램)이나, 서비스(예 : 스팀 클라이언트)로 등록된 프로그램도 레지스트리도 함께 수정해줘야 합니다.
필요성
제가 보여드릴 예시는 Nexon\Elsword입니다. 이런 프로그램들은 삭제 후 재설치가 더 소요시간이 짧습니다. 아래 방법은 한 프로그램 폴더에 여러 개의 프로그램이 있을 때, 한번에 다른 드라이브나 다른 폴더로 옮기고자 할 때, 유용한 방법입니다. 또한, 프로그램의 데이터를 유지하고 싶을 때나, 대용량 프로그램을 다운로드하기에 너무 오래걸릴 때 유용한 방법입니다.
프로그램 이동 방법
아래 예시에서는 D:\Nexon\Elsword에 설치 된 프로그램을 E:\Nexon\Elsword로 이동하는 것을 설명합니다.
1. 파일 이동
1) 정상적으로 실행되는 프로그램을 이동합니다.
2) 프로그램 폴더를 원하는 디렉터리로 이동합니다.
3) 프로그램 폴더를 옮겼으면 바로가기 파일을 변경합니다.
시작메뉴의 프로그램에서 마우스 오른쪽 버튼을 클릭하고, 파일 위치 열기를 클릭합니다.
나타난 바로가기에서 마우스 오른쪽 버튼을 클릭하고 속성을 누릅니다.
바로 가기의 대상과 시작 위치를 이동한 디렉터리로 변경합니다.
바탕화면과 그 외의 바로가기에 대해 같은 방법으로 바로가기 속성을 변경합니다.
2. 레지스트리 이동
인터넷 브라우저에서 플러그인 형태의 프로그램을 실행하면
설치된 프로그램을 찾지 못하고 설치과정으로 넘어갑니다.
이 때는 레지스트리 수정이 필요합니다.
1) regedit프로그램을 실행합니다. Win+R키를 이용해도 되고, Windows 검색 기능을 사용해도 됩니다.
레지스트리 편집기 실행
2) 기존에 저장되어 있던 디렉터리를 찾습니다.
3) 검색 된 레지스트리 키에서 디렉터리를 변경합니다.
아래처럼 결과가 나옵니다. 검색 결과가 이름에 해당될 경우 이름을 새 디렉터리(D:\nexon\elsword)로 변경합니다. 검색 결과가 데이터에 해당될 경우 데이터 중 일치하는 부분을 새 디렉터리(D:\nexon\elsword)로 변경합니다.
Tip:사진의 레지스트리 키 값은 Microsoft 디렉터리 하위의 Compatibility Assistant에 있기 때문에 Windows에서 호환성 변수를 저장하기 위해 만든 키인 것을 알 수 있습니다. 수정하지 않고 삭제해도 무방합니다.
Tip : Uninstall 디렉터리 하위에 레지스트리입니다. 반드시 수정합니다.
Tip : 프로그램 자체에서 만들 레지스트리 키입니다. 반드시 수정해야 합니다.
Tip : 그 외에도 방화벽 규칙 레지스트리 키도 있습니다. 삭제하거나 수정합니다.
Tip : 앞서 소개한 바와 같이 레지스트리는 이용 기록과 같은 데이터를 저장하고 있으니 레지스트리 정리를 한 번 수행해 줍니다.
제어판 -> 전원 옵션 -> AMD Ryzen Balanced 선택 기본 전원 관리 옵션 란에 없으면 추가 전원 관리 옵션에서 찾아보세요.
프로세서 성능 시간 검사 간격 조절
Fast frequency change: The AMD Ryzen™ processor can alter its voltage and frequency states in the 1ms intervals natively supported by the “Zen” architecture. In contrast, the Balanced plan may take longer for voltage and frequency changes due to software participation in power state changes. 출처 : community.amd.com
AMD Ryzen 프로세서는 젠 아키텍처에 의해 프로세서의 전압과 클럭 상태를 1ms간격으로 바꾸는 것을 자체적으로 지원합니다.
시작 -> 제어판 입력, 또는 Windows 키 + X -> 제어판
하드웨어 및 소리
전원 옵션
고성능 클릭
오른쪽의 설정 변경 클릭
고급 전원 관리 옵션 설정 변경
프로세서 전원 관리 -> 프로세서 성능 시간 검사 간격을 3으로 조절.
프로세서 성능 시간 검사 간격 항목이 없을 경우 코어파킹에 관한 글 참조(코어파킹 준비 부분의 코어파킹 제어판 활성화 부분 숙지)
O!C!
모든 라인업이 오버언락이 되어 있으니 유효한 팁입니다.
피온 2016 설정파일 삭제
Steam 클라우드에 동기화되니 클린설치를 하더라도 설정파일을 지워야 합니다. 설정파일에는 쓰레드 수를 지정하는 변수가 기록되어 있기 때문에 이전에 16쓰레드 CPU로 플레이 한 게 아니라면 설정파일 삭제가 필요합니다. 게임에서 설정 초기화한다고 초기화되지 않는다고 합니다.
ㅎㅎㅎㅎ 글쓰기를 좋아해서 블로그를 시작했는데, 막상 글 하나에 6시간 이상 투자하다 보니 꾸준한 업로드가 어렵네요 블로그 컨셉은 새로운 IT 소식에 대해 여러 매체들의 정보를 한 곳에서 볼 수 있게 하려는 것이었는데요... 새 IT 소식이 올라오는 빈도는 빠르고, 글쓰기가 느린 저로서는 감당이 되지 않네요. 이 글도 내용 준비 외에 초안 작성만 5시간 정도 썼네요. 임시 저장 해놓고 글 마무리나 다듬기, 추가 내용 보충도 해서 작성한 글입니다...ㅎㅎ
라이젠, 반응
요즘 라이젠이 출시되면서 CPU쪽이 떠들썩 합니다. 긍정적인 반응도 있고 부정적인 반응도 있습니다. 라이젠 후기들을 보면 "이거 사도 되는건가..."하는 생각이 들게 하는 내용도 있습니다. 그 오해와 진실을 후기로 파헤쳐보려고 합니다.
라이젠의 장점은 8코어에 있습니다. 8코어는 멀티 쓰레딩을 지원하는 단일 프로그램에서 성능 향상이 생깁니다. 그리고 8코어는 멀티 태스킹이 훨씬 부드럽습니다.
또한 라이젠은 인공지능 기술인 SenseMI를 통해 더 조용하고 빠른 연산이 가능해졌습니다.
마지막으로 아직은 소프트웨어적인 최적화가 덜 되어있는 라이젠 무작정 따라하는 최적화를 준비했습니다.
멀티쓰레딩
많은 분들이 8코어로 멀티태스킹을 생각할 때 라이젠 8 단일작업 멀티쓰레딩 성능에 대해 얘기해보려고 합니다.
AMD에서 2011년 CMT구조의 CPU가 출시될 때, 제가 우려했던 부분은 멀티쓰레딩 게임이 없다는 것이었습니다. SMT는 이론적으로는 싱글 쓰레드 프로그램에서도 성능하락이 없었고, 멀티 쓰레드를 지원하면 성능이 향상되는 구조였습니다.
SMT는 하나의 코어에 디코더를 두개 두는 방식입니다.
CPU는 원래 하나의 쓰레드만 처리할 수 있습니다. 하나의 코어로 여러 개의 쓰레드를 처리하려면 여러 개의 쓰레드를 굉장히 짧은 순간동안 바꿔가며 연산해야 합니다. 이게 우리가 컴퓨터를 하면서 보는 멀티 태스킹입니다.
그런데, 이 과정에서 코어가 연산하지 않는 순간이 생깁니다. 이 때, 디코더를 하나 더 두면, 코어가 연산하지 않는 순간을 줄일 수 있습니다. 이론 상으로는 성능은 감소하지 않습니다.
반면, CMT는 멀티 쓰레드 프로그램에서는 성능향상이 컸지만, 싱글 쓰레드 프로그램에서는 성능하락이 있는 구조였습니다. 때문에 8코어라고 홍보를 했지만, 실제로는 인텔의 듀얼코어에도 못미치는 벤치마킹 결과가 나타났습니다.
비셰라는 2013년에 출시된 CPU입니다. 그런데 3년 뒤, 놀랍게도 오버워치 출시 이후 이 CPU가 다나와 추천 피시에 사용됩니다.
이러한 역사는 라이젠에서도 우려되는 부분입니다. 지금까지는 인텔이나 AMD나 8쓰레드 CPU가 주력이었고, 지금의 프로그램은 그에 맞춰서 프로그래밍 되어 있습니다. 그래서 라이젠이 비셰라와 같은 길을 걸을 수 있는 우려가 생기는 겁니다.
그렇다면 우선 짚고 넘어가야 할 부분은, 흔히 벤치마킹 프로그램에서 테스트 하는 16쓰레드나 싱글 쓰레드의 퍼포먼스가 아니라 그 사이의 프로그램의 퍼포먼스 입니다. 멀티 쓰레드 프로그램이지만, 16쓰레드는 아니어서 라이젠의 일부 코어만 활용하는 프로그램의 퍼포먼스를 봐야 합니다.
이게 실제로 사용자가 느끼는 퍼포먼스가 될 것입니다.
인텔의 주력제품인 i7은 4C 8T CPU입니다. 라이젠에 비해 클럭이 높기 때문에 싱글코어 퍼포먼스는 더 좋은 편입니다. 라이젠은 현재 비슷한 가격으로 8C 16T CPU를 제시합니다. 클럭이 낮아서 싱글코어 퍼포먼스는 떨어집니다.
그러면 8쓰레드 게임에서는 라이젠은 i7을 이길 수 없는걸까?? 정답은 아니요 입니다.
8개 쓰레드의 프로그램을 8개의 물리코어로 처리하면 같은 8 쓰레드를 사용하더라도 성능이 더 높게 나타납니다.
American Truck Simulator 게임이 CPU의존도가 높아서 이 게임으로 보여주려고 합니다.
Windows 의 Power Plan이 균형 조정일 때
3개의 물리코어가 활성 상태입니다. 6개의 쓰레드를 사용하고 있구요. 전체 CPU이용률은 16%입니다. 130FPS가 나옵니다. 차량이 없어서 프레임 편차는 1~2입니다.
Windows 의 Power Plan이 고성능일 때
코어파킹이 꺼집니다. 코어 0,3,5,7,9,15. 즉, 6개의 쓰레드를 사용하고 있습니다. 차이점이라면 서로 다른 물리코어를 가리켜서 6개의 코어가 활성 상태입니다. 그리고 활성 상태인 물리코어의 가상코어는 코어 1을 제외하고는 연산하고 있지 않습니다. 전체 이용률은 15%입니다.
쓰레드 분배가 고르지 않고 코어 0과 15를 특히 많이 사용하고 있습니다. 155FPS가 나옵니다. 마찬가지로 차량이 없어서 프레임 편차는 1~2입니다.
놀랍게도 6개의 물리코어를 사용할 때 약 20%의 성능 향상이 생깁니다. 고성능 파워 플랜에서 더 높은 성능을 보여줍니다.
연산에 사용되는 쓰레드와 이용률은 같은데 활성 물리 코어만큼 성능이 향상되는 것을 볼 수 있습니다. 같은 양의 연산을 하더라도 물리코어를 사용한다면 6개의 쓰레드를 동시에 처리하게 됩니다.
반면, 같은 양의 연산에 있어 가상코어를 사용한다면 6개의 쓰레드를 "동시에" 처리하는 건 아닙니다. (상단의 SMT설명 참고) 그 외에도 SMT는 캐시와, 버스를 공유하기 때문에 병목의 가능성이 있습니다. 그래서 멀티쓰레드 프로그램이라면 가능한 한 물리코어가 많이 활성화 되는 것이 성능 향상에 도움이 됩니다. 즉, 물리 코어에 쓰레드를 분배하는 것이 성능 향상에 도움이 되는 것입니다.
i7의 경우에도 코어파킹이 작동한다면 4쓰레드 프로그램을 이용할 때 i5보다 성능이 떨어지는 결과가 나타나기도 합니다.
그래서 i7을 위해 8쓰레드 게임을 만들었는데, 이게 왠걸... 비셰라가 갑자기 떠버린 겁니다...
라이젠과 같은 8C 16T CPU에서는 16쓰레드 프로그램이면 좋겠지만, 대부분 게임은 아직 16쓰레드까지는 지원하지 않습니다. 그렇다고 SMT를 끄자니 16쓰레드 프로그램에서는 SMT의 성능이 증가하는 게 뚜렷하게 보입니다. 그래서 게임의 쓰레드를 물리코어에 우선 할당할 필요가 있습니다.
글 하단에서 무작정 따라하는 최적화를 확인하세요.
AMD가 CMT를 버리고 SMT로 전향하면서 멀티 쓰레드를 조금 내려놓고 싱글 쓰레드 퍼포먼스도 챙기는 모습을 보입니다. 하지만 SMT구조에서도 AMD는 멀티 쓰레딩에 강점을 가지고 있습니다.
기존 글에서 레지스트리 키 복원을 통해 설정 값을 복원하는 방법을 소개 해드렸습니다. 하지만 reg파일을 실행하면 아래와 같은 오류가 발생합니다.
그래서 제 설정값에 대해 블로그 글로 공유해드립니다. 여기에서 코어파킹에 대해 더 자세한 설명을 볼 수 있습니다.
또한 기존 글에 있는 " 코어파킹(x64,x86) 제어판 활성화.reg"파일이 변경되었습니다.
기존에는 여러 가지 항목을 이용해보시라고 많은 항목이 제어판의 전원 옵션에 나타나도록 했습니다. 하지만 복원이 어렵기도 하고 아래 설명을 용이하게 하기 위해 꼭 필요한 옵션만 나타나도록 했습니다.
2017.03.25 Windows Update로 HEDT에서도 코어파킹을 사용해도 됩니다. 기존에는 코어파킹 활성화로 성능이 감소했지만, 3월 16일 업데이트를 통해 성능 감소폭이 하락했습니다. 물리코어에 쓰레드를 우선 할당하기 때문에 코어파킹으로 인한 성능 감소폭이 줄어듭니다.
2017.03.18 쓰로틀 상태 허용 옵션이 기존의 Windows 7과는 다르게 동작합니다. Windows 7 에서는 쓰로틀 상태 허용 옵션을 통해 코어 파킹을 활성화/비활성화 할 수 있었습니다. 하지만 Windows 10에서는 옵션을 변경해도 코어파킹은 항상 활성화 되어 있습니다. 프로세서 성능 코어파킹 최소 코어 값은 100%로 바꾸면 코어파킹이 해제됩니다.
2017.03.09 최근 14nm HEDT프로세서를 사용하게 되면서 새로운 세팅을 만들었습니다.(준비 중) HEDT는 이전 제가 쓰던 하스웰에 비해 전력소비나 발열이 적습니다. 그리고 클럭이 낮아서 게임 중에 효율적인 쓰레드 분배가 필요합니다.
모든 게임은 쓰레드 8개 이상입니다. (다만 그 쓰레드 중 연산량이 많은 쓰레드가 몇개 없을 뿐이죠)
그런데 일을 적게 하더라도 코어파킹이 되어있지 않다면 8개의 쓰레드를 "동시에" 처리하게 됩니다. (물리적으로 논리 코어(SMT)는 "동시에"처리하는 건 아닙니다.)
실제로 유로트럭시뮬레이터에서는 4개 코어만 활성 상태일 때보다, 8개 코어가 활성 상태일 때 30%정도의 성능 향상이 있었습니다. 4개 코어가 활성 상태일 때는 4개의 물리코어와 4개의 논리코어 모두 30%정도의 사용률을 보였고, 8개 코어가 활성 상태일 때는 물리코어는 30%이상, 논리코어는 5%미만의 사용률을 보였습니다. 그랬더니 게임의 프레임이 30%정도 증가한 겁니다.
즉 고사양의 게임을 할 때는 모든 코어가 활성 상태일 때 최고의 성능을 발휘할 수 있습니다.
쿼드코어에서는 자주 코어파킹이 되도록 해도 게임을 실행하면 모든 코어가 활성화 되기 때문에 아래 설정이 가능하지만 옥타코어에서는 아래 설정을 하면 4개 코어만 활성화됩니다.
4월 Windows 업데이트에서 8코어 지원 업데이트를 한다고 합니다. 하지만 그 전까지는 코어파킹을 해제하고 사용하기를 권합니다.
본론-쿼드코어용
프로세서 성능 증가 임계값 : 60% 가만히 있다가 애플리케이션을 실행했을 때 느린 게 느껴진다면 상향 조절할 것, 게이밍에는 큰 차이 없음.
프로세서 성능 코어 파킹 최소 코어 : 0%
프로세서 성능 감소 임계값 : 30% 게임 중 클럭이 떨어져 프레임이 감소한다면 하향 조절.
프로세서 성능 코어 파킹 동시성 임계값 : 97(기본값)
프로세서 성능 코어 파킹 증가 시간 : 1 게임 중 코어 파킹 상태 변경으로 프레임 드랍이 생긴다면 상향 조절. 코어 파킹 상태 변경시 가끔 짧은 프리징이 있음.
쓰로틀 상태 허용 : 1
2017.03.18 쓰로틀 상태 허용 옵션이 기존의 Windows 7과는 다르게 동작합니다. Windows 7 에서는 쓰로틀 상태 허용 옵션을 통해 코어 파킹을 활성화/비활성화 할 수 있었습니다. 하지만 Windows 10에서는 옵션을 변경해도 코어파킹은 항상 활성화 되어 있습니다.
프로세서 성능 코어파킹 최소 코어 값은 100%로 바꾸면 코어파킹이 해제됩니다.
프로세서 성능 감소 정책 : 0(적합함)
프로세서 성능 코어 파킹 성능 상태 : 1(최고 성능 상태)
프로세서 성능 증가 정책 : 3(ideal aggressive) Windows 8.1까지는 적합함, 단일, 로켓 세 가지였던 게 ideal aggressive가 추가 됨. ideal(적합함)과의 차이는 모름.
프로세서 성능 시간 검사 간격 : 20 고성능 기본값 15, 균형 조정 기본값 30
프로세서 성능 코어 파킹 감소 정책 : 0(적합한 코어 수)
최소 프로세서 상태 : 0%
프로세서 성능 코어 파킹 과다 이용률 임계값 : 20%
최대 프로세서 상태 : 100%
프로세서 성능 강화 모드 : 2(적극적) Intel Turbo Boost, 또는 AMD Turbo Core기능을 활용하는 수준 선택
프로세서 성능 코어 파킹 증가 정책 : 0(적합한 코어 수)
프로세서 성능 코어 파킹 감소 시간 : 2 게임 중 코어 파킹 상태 변경으로 프레임 드랍이 생긴다면 상향 조절. 코어 파킹 되었을 때 나머지 코어의 작업이 많아 프레임이 감소한다면 상향 조절. 코어 파킹 상태 변경시 가끔 짧은 프리징이 있음.
프로세서 성능 코어 파킹 동시성 가용 임계값 : 20 코어 파킹 되었을 때 나머지 코어의 작업이 많아 프레임이 감소한다면 하향 조절
본론-HEDT용
HEDT는 솔더링 처리가 되어있어서 열 배출이 오히려 더 빠르다는 점과 HEDT는 고성능을 목표로 한다는 점을 착안하여 좀 더 높은 성능을 내도록 조절했습니다.
프로세서 성능 증가 임계값 : 45% 가만히 있다가 애플리케이션을 실행했을 때 느린 게 느껴진다면 상향 조절할 것, 게이밍에는 큰 차이 없음.
프로세서 성능 코어 파킹 최소 코어 : 0%
프로세서 성능 감소 임계값 : 15% 게임 중 클럭이 떨어져 프레임이 감소한다면 하향 조절.
프로세서 성능 코어 파킹 동시성 임계값 : 99 코어 파킹이 덜 생깁니다.
프로세서 성능 코어 파킹 증가 시간 : 2 게임 중 코어 파킹 상태 변경으로 프레임 드랍이 생긴다면 상향 조절. 코어 파킹 상태 변경시 가끔 짧은 프리징이 있음.
쓰로틀 상태 허용 : 1 프로세서 성능 코어파킹 최소 코어 값은 100%로 바꾸면 코어파킹이 해제됩니다.
프로세서 성능 감소 정책 : 0(적합함)
*프로세서 성능 코어 파킹 성능 상태 *: 0(기본 설정 없음)
프로세서 성능 증가 정책 : 3(ideal aggressive) Windows 8.1까지는 적합함, 단일, 로켓 세 가지였던 게 ideal aggressive가 추가 됨. ideal(적합함)과의 차이는 모름.
프로세서 성능 시간 검사 간격 : 2 고성능 기본값 15, 균형 조정 기본값 30, 라이젠은 자체적으로 1ms마다 변경 가능 인텔은 스피드 시프트로 20ms내에 최고 클럭까지 올릴 수 있음
프로세서 성능 코어 파킹 감소 정책 : 0(적합한 코어 수)
최소 프로세서 상태 : 0%
프로세서 성능 코어 파킹 과다 이용률 임계값 : 20%
최대 프로세서 상태 : 100%
프로세서 성능 강화 모드 : 2(적극적) Intel Turbo Boost, 또는 AMD Turbo Core기능을 활용하는 수준 선택
프로세서 성능 코어 파킹 증가 정책 : 0(적합한 코어 수)
프로세서 성능 코어 파킹 감소 시간 : 5 게임 중 코어 파킹 상태 변경으로 프레임 드랍이 생긴다면 상향 조절. 코어 파킹 되었을 때 나머지 코어의 작업이 많아 프레임이 감소한다면 상향 조절. 코어 파킹 상태 변경시 가끔 짧은 프리징이 있음.
프로세서 성능 코어 파킹 동시성 가용 임계값 : 20 코어 파킹 되었을 때 나머지 코어의 작업이 많아 프레임이 감소한다면 하향 조절
안녕하세요~ 오랜만에 글을 쓰네요! 요즘 굉장히 바빴습니다. 딱히 다른 뉴스들 끌어모아서 쓸만한 글도 없었구요. iOS 10과 에어팟은 여러가지 의견들이 있어서 글을 쓸만하기도 했던것 같기도 합니다.
바로 본론으로 넘어가겠습니다.
저는 코어파킹을 Windows 7부터 사용해 왔습니다. 페넘에서 처음 적용했는데, 쿨러 소음의 차이가 굉장히 컸습니다. 이후로도 절전을 목적으로 코어파킹을 사용하고 있습니다. 이후 Windows 8, Windows 10에서 조금 구조가 바뀌었고, 그래서 제가 직접 만들어서 사용했습니다. 그런데 지인에게 알려주려다 보니 Windows 10용 코어파킹을 포스팅한 블로그가 없었습니다. 그래서 직접 작성하게 되었습니다.
글 마지막에 직접 만들어서 쓸수 있는 심화과정도 작성하겠습니다.
코어파킹이란?
대부분의 CPU는 여러 개의 코어로 이루어져 있습니다. 그 코어들을 몇개만 꺼서 전원을 절약하고 발열을 줄일 수 있습니다.
또한 오버클럭을 하는 분들중 몇몇은 클럭을 낮추는 절전기능(Speed Step, Cool & Quiet)을 끕니다. 그러면 최대클럭을 유지하기 때문에 오버클럭한 CPU가 안정적으로 작동하게 됩니다. 여기서 전원을 절약하고 발열을 줄이는 데 코어파킹이 도움이 됩니다.
위 사진은 구글의 데이터베스 센터입니다. 이러한 서버실은 발열이 엄청나기 때문에 에어컨도 켜져있는데요, 에너지 절약 차원에서 Server용 Windows는 기본적으로 코어파킹이 켜져 있습니다.(구글이 Windows Server쓰는 건 아닙니다)
아이러니하게도 노트북에는 코어파킹이 켜져있지 않습니다. 대부분 듀얼코어 노트북이기 때문에 큰 차이가 나지 않기 때문입니다. 그래도 저는 듀얼코어에도 코어파킹을 설정할 것입니다. 노트북의 생명은 절전이니깐요!
하지만 쿼드코어 노트북이라면 필수 과정이라고 생각합니다.
코어파킹 준비
기본적으로는 코어파킹 설정에 접근할 수 없게 되어 있습니다. 때문에 레지스트리 편집기를 통해 제어판 설정에 나타나도록 해야 합니다.
파일 다운로드가 불가능 할 경우, 이 곳을 확인하시기 바랍니다. 카카오에서 파일 다운로드의 처리 방식(?)을 변경하면서 reg파일을 오디오 파일로 인식하고 카카오 자체의 웹플레이어로 연결하는 것 같습니다. [https://kollhong.com/34-2/]
첫번째 파일은 제어판에서 코어파킹을 설정할 수 있도록 보이게 하는 설정입니다. 심화과정에서 기존 파일 백업도 확인할 수 있습니다.
2017.03.18 쓰로틀 상태 허용 옵션이 기존의 Windows 7과는 다르게 동작합니다.
Windows 7 에서는 쓰로틀 상태 허용 옵션을 통해 코어 파킹을 활성화/비활성화 할 수 있었습니다.
하지만 Windows 10에서는 옵션을 변경해도 코어파킹은 항상 활성화 되어 있습니다.
프로세서 성능 코어파킹 최소 코어 값은 100%로 바꾸면 코어파킹이 해제됩니다.
2017.03.07 백업 파일 복원이 불가능하다고 하여 새로운 글에서 제 설정값에 대해 공유합니다.
기존에는 여러 가지 항목을 이용해보시라고 많은 항목이 제어판의 전원 옵션에 나타나도록 했습니다.
하지만 복원이 어렵기도 하고 직관성이 떨어져 꼭 필요한 옵션만 나타나도록 했습니다.
2017.02.06 멀티 코어 지원 프로그램들이 증가함에 따라 코어 클럭보다 코어 파킹 해제가 더 자주 발생하도록 조절했습니다.
두번째 파일을 실행했어도 다음 단계를 진행해야 합니다.
코어파킹 설정
코어파킹 설정은 시작 -> "제어판"입력(자동으로 검색됨) -> "절전"입력(자동으로 검색됨) -> 전원 옵션 클릭
전원옵션 설정으로 이동합니다.
그러면 위와 같은 화면이 나옵니다. 코어파킹 준비 단계에서 두번째 파일을 실행했다면 왼쪽에서 "고성능"을 체크하면 설정이 끝이 납니다. 전원 옵션을 고성능으로 바꾸고 싶지 않으면 아래 백업 복원 심화를 읽어보세요 하지만 아래에 상세 설명이 있으니 읽어보시기를 추천합니다.
첫번째 파일을 실행했다면 활성화된 설정을 확인하고 설정 변경 버튼을 누릅니다. 그리고 아래에서 "고급 전원 관리 옵션 설정 변경(C)"를 클릭합니다.
그러면 위와 같은 창이 나타납니다. 프로세서 전원 관리 항목에서 다음과 같이 설정합니다.
프로세서 성능 코어파킹 최소 코어 : 5% 스로틀 상태 허용 : 설정 프로세서 성능 코어파킹 최대 코어 : 100%
프로세서 성능 코어파킹 최소 코어 : 코어파킹이 활성화되어도 항상 켜져있어야 하는 코어 수를 지정합니다. 하이퍼쓰레딩을 인식하기 때문에 5%로 설정해도 켜져있는 물리코어에 따라 가상코어도 켜집니다. 스로틀 상태 허용 : 코어파킹을 켜고 끕니다. 코어파킹 때문에 렉걸리는데 기본 설정으로 초기화하고 싶지 않다면 스로틀 상태 항목만 허용하지 않으면 됩니다. 프로세서 성능 코어파킹 최대 코어 : 쿼드코어를 사서 듀얼코어로 쓰고 싶지 않다면 100%로 설정합니다.
노트북의 경우 배터리 상태와 AC전원 상태를 설정할 수 있습니다. 배터리에서는 듀얼코어로 사용하고 싶으면 50%로 설정하면 됩니다.
두번째 파일이 마음에 들지 않는다면 위의 창에서 "전원 관리 옵션 기본값 복원"을 클릭하여 초기화할 수 있습니다.
코어파킹 설정 심화
지금까지는 레지스트리 파일 외에는 어느 블로그에서나 얻을 수 있는 정보입니다. 직접 레지스트리를 돌아보면서 찾아낸 몇가지 기능들이 있습니다.
두번째 레지스트리 파일은 아래 것들을 조금 조작해둔 파일입니다.
프로세서 성능 코어 파킹 동시성 임계값 : 97%(기본값) -> 높을수록 코어파킹 해제가 잘됩니다. 프로세서 성능 코어 파킹 증가/감소 시간 : 2 (기본값) -> 코어파킹/코어파킹해제 주기를 정합니다. 프로세서 성능 코어 파킹 성능 상태 : 최고 성능 상태 -> Windows 7에서는 최고 성능 상태를 하면 Speed Step이 작동하지 않는 버그가 있었지만 Windows 10에서는 괜찮습니다. 클럭도 잘 떨어지고 코어 파킹도 잘 됩니다. 프로세서 성능 코어 파킹 동시성 가용 임계값 : 50 -> 낮을수록 코어파킹이 잘됩니다.
그 외에도 프로세서 성능 증가 정책 : IdealAggressive -> Speed Step을 조절합니다. 조금 더 클럭이 높게 잡혀서 성능이 개선됩니다. 프로세서 성능 강화 모드 : 적극적 -> Turbo Boost를 더 자주 사용합니다.
성능 차이가 좀 있는 기능들에 대한 설정입니다. 실제로는 그 외에도 여러 가지 설정이 활성화됩니다. 직접 사용해보세요~^^
레지스트리 심화
여기서는 백업, 복원, 전원 옵션에서 가리거나 표시하기, 기본값 자체를 변경하는 것들을 쓸겁니다.
제어판에 더 많은 설정 보이기
시작 -> regedit 입력 -> 다음으로 이동 "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Power\PowerSettings" 이곳에 있는 것들이 "전원 옵션" 창에 보이게 할 수 있는 레지스트리들입니다. 그 중에 "54533251-82be-4824-96c1-47b60b740d00" 안에 있는 것들이 "프로세서 전원 관리" 부분의 항목들입니다.
프로세 전원 관리 안에 있는 키를 선택하고 여기서 Attributes를 수정합니다. 값이 0이면 제어판의 전원 옵션 창에서 수정이 가능하고, 값이 1이면 전원 옵션 창에 나타나지 않습니다.
백업
위에서 작성한 대로 레지스트리 편집기를 통해 프로세서 전원 관리 부분에 들어갑니다.
항목 위에 마우스 우클릭을 하고 내보내기를 하시면 전원 옵션에 보이게 했거나 숨긴 항목의 백업이 가능합니다.