하이퍼쓰레딩 비활성화 방법과 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가 해결책 중 하나가 될 수는 있습니다.
CPUSetter는 사용자가 CPU의 코어 수를 조정하거나, 체크박스 해제를 통해서 하이퍼 스레딩을 비활성화할 수 있습니다. 당연하지만 하이퍼스레딩 기능이 없는 CPU는 앱에서 체크박스가 존재하지 않습니다.
그외로 이 프로그램을 맥북에서 조금 단순하게 쓴다면, 활성화된 코어수를 의도적으로 줄여서 배터리 전력소모나 발열을 줄이는 것이 가능합니다. 조금 더 응용한다면 각 프로세스의 CPU 최대 사용률을 줄이거나 우선순위 조절도 가능하기 때문에, 자주 사용하는 프로그램 중심으로 설정해두면 가벼운 작업 중심으로 사용하는 베터리 모드에서 배터리 시간을 늘리는 것에 약간 도움이 됩니다.
https://www.whatroute.net/cpusetter.html