brunch

매거진 맥과생활

You can make anything
by writing

C.S.Lewis

by 루습히 May 18. 2019

맥에서 하이퍼스레딩 끄기

하이퍼쓰레딩 비활성화 방법과 CPUSetter 사용 

하이퍼쓰레딩(Hyper-Threading)은 인텔 CPU에서 1개의 코어당 2개의 스레드를 활용하는 유용한 기술입니다. 다만, 일부 맥 환경에서는 발열과 전력 소모를 줄이기 위해서 하이퍼스레딩을 꺼버리는 편이 나은 경우도 있었습니다. 그래서 예전부터 터미널의 명령어를 통해서 하이퍼쓰레딩을 끄는 방법이 많이 알려져 있습니다. 


게다가 최근 인텔에서는 보안 문제로 7세대 이전 코어 시리즈를 사용하는 모든 사용자에게 하이퍼스레딩 비활성을 권고하고 있습니다.

https://www.intel.com/content/www/us/en/architecture-and-technology/mds.html


물론 macOS 모하비나 하이시에라 사용자라면, command(⌘) + R 로 리커버리 모드를 진입하여 

아래의 명령어를 터미널에서 입력하는 것으로 해결이 가능합니다.

nvram boot-args="cwae=2" 
nvram SMTDisable=%01
https://support.apple.com/ko-kr/HT210108

그러나 NVRAM 또는 PRAM 재설정을 진행하면 하이퍼스레딩이 다시 활성화가 됩니다.

조금 더 손쉽게 하이퍼스레딩을 켜고 끌 수 있는 방법은 없을까요?

이번에 소개하는 CPUSetter가 해결책 중 하나가 될 수는 있습니다.



4코어 8스레드 CPU에서 실행 화면


CPUSetter는 사용자가 CPU의 코어 수를 조정하거나, 체크박스 해제를 통해서 하이퍼 스레딩을 비활성화할 수 있습니다. 당연하지만 하이퍼스레딩 기능이 없는 CPU는 앱에서 체크박스가 존재하지 않습니다.


하이퍼스레딩이 없는 6코어 6스레드 CPU 환경에서 실행 화면


하이퍼 스레딩 비활성 상태 (4코어 4스레드)


2코어 4스레드로 설정 (하이퍼 스레딩 활성)


그외로 이 프로그램을 맥북에서 조금 단순하게 쓴다면, 활성화된 코어수를 의도적으로 줄여서 배터리 전력소모나 발열을 줄이는 것이 가능합니다. 조금 더 응용한다면 각 프로세스의 CPU 최대 사용률을 줄이거나 우선순위 조절도 가능하기 때문에, 자주 사용하는 프로그램 중심으로 설정해두면 가벼운 작업 중심으로 사용하는 베터리 모드에서 배터리 시간을 늘리는 것에 약간 도움이 됩니다.


간단하게 메뉴바 아이콘으로 보이게 할 수도 있습니다.


https://www.whatroute.net/cpusetter.html


브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari