서론
내 개발환경을 보자면, 2019(Late) Macbook Pro 16'
를 클렘쉘 모드로 덮어놓고, 외장모니터 2개
, 외장 키보드
, 외장 마우스
를 연결하여
사용하고 있다.
하지만 줌(Zoom) 을 사용한다던가, 내가 사용하는 무거운? IDE 인 Webstorm 으로 개발을하며, 따로 서버까지 여는경우에는 타자치기가 힘들정도로 버벅이고 맥북에서는 비행기 이륙하는 소리가 났다. 이러한 현상이 하루에도 수십번 일어나다 보니 도저히 나의 인내심이 견딜 수 없는 지경까지 도달하였다.
Activity Monitor
를 사용하여 무슨 문제가 있나 확인해보니 kernel_task
란 녀석이
cpu 사용량을 무려 900% 를 사용하고 있다고 떡하니 적혀있었다.
본론
커널테스크 (kernal_task) 는 무엇일까?
커널테스크란 linux
의 최상위 제어권자이자 핵심 기능이다.
cpu 의 온도센서 중 하나라도 일정 수치를 넘게되면 내부적인 발열로 인하여
컴퓨터의 고장을 방지하기위해 임의로 가상으로 커널테스크 프로세스 자체에 과부화를 걸게된다.
이로인하여 컴퓨터는 쓰로틀링(throttling)
이 걸리게 되며, 정상적인 작동을 할 수 없는 환경을 마주치게 되며, cpu 를 점유하고 있던 다른 프로세서들의
작동에 제한이 걸리며 cpu 의 온도가 정상적으로 돌아오게 만드는 녀석이라고도 부를 수 있다.
통상적이지만 효과가 없거나 불가능한 해결책들
그렇다면 커널테스크가 점유율을 높여 다른 프로세스들의 작동을 제한하면,
우리는 매번 하루에 수십번씩 '그렇구나~ 그럼 잠시 작업을 멈춰야 겠다!' 하지 않을것이지 않은가?
이를 위해 인터넷을 뒤져보니
- SMC (시스템 관리 컨트롤러)
초기화
- 비정상적인 OS 접근으로 kernel_task 의
자체적인 작업을 제한
- 하판 오픈 (뚜따?) 이후
써멀패드 부착
1번의 초기화를 Apple 공식홈페이지의 안내에 따라 실행하보았지만 효과는 전혀 없었다.
2번은 만일 차후에 무거운 작업을 돌리다 과도하게 cpu 의 온도가 치솟았을때 이를 제어해줄 kernel_task 가 없다면 고장을 야기할 수 있다.
3번은 Apple 정책상 임의로 개인이 하판을 오픈하게 될경우 AS 를 받을 수 없게된다.
이로인해, 나는 다른 방법을 생각해야 했으며,
단순하게 생각하면, 결국 kernal_task
의 과점유 현상은 즉, 온도
와 밀접하게 관련이 있다.
온도를 잡으면 모든것이 해결되는 것 아닌가?
지금부터 내가 외장모니터 2개, 외장 키보드, 외장 마우스 를 사용하며 webstorm 으로 작업을 하는 도중에도
발열관리를 완벽히 잡은 개인적인 경험에 대해 써보려고 한다.
나만의 진짜 해결책
- 맥북프로는 팬이 내부에서 돌아감에 따라 열이 뒤쪽 힌지부분으로 나오게 되며,
하판 자체에는 구멍이 일절 없다. 즉, 일반적인노트북용 쿨러
는 저어어엉말 코딱지만한 효과밖에 줄 수 없다.
하지만 이점을 이용하여물리적으로
지우개 등을 이용하여 바닥에서 맥북을 공중으로 띄워놓는다. 이정도만 해줘도 발열이 어느정도 잡힐 것이라고 나는 확신한다. Macs Fan Control
이라는 프로그램을 사용하여 임의로 맥북의 팬 속도를 일정하고 강하게 조절할 수 있다. 나는 무거운 프로그램을 돌릴때는 항상Full blast
에 맞추어두고 사용한다.-
물론 장점이겠지만 맥북 프로에 들어간
Intel Processor
는Turbo Boost
기능을 가지고 있고, 이를 자기 마음대로 적재적소에 활용한다.
주로 무거운 프로세스를 돌릴때 사용하는데 문제는 Turbo Boost 가 작동될 시점에 cpu 의 온도는 순간적이지만 기하급수적으로 상승하고, 이는 곧 cpu 의 온도 상승으로 직결된다. 이를 방지하기 위해Turbo Boost Switcher
라는 프로그램을 사용하여 꼭 필요한 경우를 제외하고는 항상 Turbo boost mode 기능을 꺼준다. 이로인하여 작업이 느려졌다고 채감한적은 단 한번도 없었다.
결론
정말 마음먹고 거금을 들여 산 나의 맥북이 산지 반년도 지나지 않았는데 항상 끙끙대고 힘들어 하는 모습에 정말 몇달동안 속상함을 넘어 분노가 치밀었다. 이로인해, 나는 거의 한달동안 모든 리소스를 찾아가며 이에대한 해결책을 찾으려 노력했고, 이 과정에서도 개발적인 지식이 아니더라도 꽤 많은 지식을 얻었다고 생각한다. 이 글을 읽고 한분이라도 어서 광명을 찾으시길 기원하며...