본문 바로가기

Study/라즈베리파이 공부

[라즈베리파이] 발열 테스트 및 CPU 온도 확인 방법

반응형

라즈베리파이를 구입해서 며칠째 이것저것 살펴보는 중입니다. 

Idle 상태에서도 CPU 발열이 상당히 심하다고 했는데, 역시나 상당합니다. 

방열판은 기본으로 장책해야 하는 것 같고, 가급적이면 쿨링팬도 장착하시기를 권장드립니다. 

 

[라즈베리파이 CPU 온도 확인 명령]

라즈베리파이의 CPU 온도를 확인하는 명령은 아래와 같습니다.

 

<명령어>

$ cat /sys/class/thermal/thermal_zone0/temp

 

<출력 결과>

45277

출력 결과는 millidegree celsius로 표시됩니다. 

45277 millidegree celsius를 1000으로 나누면 45.277 celsius가 되겠습니다. 

정밀도는 277 millidegree입니다. 

 

[라즈베리파이 CPU 온도를 1초 단위로 확인하는 스크립트]

이번에는 라즈베리파이 CPU 온도를 1초 단위로 확인하는 간단한 스크립트를 소개합니다.

선호하는 편집기로 아래의 내용을 입력한 이후에 확장자를 sh로 저장합니다. 

#!/bin/bash

while :
do
        cat /sys/class/thermal/thermal_zone0/temp
        sleep 1
done

 

간단하게 설명드리자면, 1초 간격으로 CPU의 온도를 출력하는 bash 스크립트입니다. 

 

1. while문의 경우 do ~ done 사이를 무한으로 반복합니다. 

2. cat /sys/class/thermal/thermal_zone0/temp 명령은 CPU의 온도를 확인하는 명령입니다.

3. sleep 1 명령은 1초 동안 delay를 주기 위한 명령입니다. 

 

<명령어>

$ vi temperature.sh
$ chmod +x temperature.sh
$ ./temperature.sh

 

저는 temperature.sh라는 파일에 위의 스크립트를 입력하고, 실행 권한을 준 이후에 실행하였습니다.

 

<출력 결과>

45764
45764
45277
45277

 

1초 단위로 CPU의 온도가 millidegree celsius로 표시되는 것을 알 수 있습니다. 

이 상태에서 Ctrl + C 또는 Ctrl + Z를 입력하면 스크립트가 종료됩니다. 

 


[1초 단위의 CPU 온도를 파일로 출력]

만약, 1초 단위의 온도를 파일로 출력하고자 한다면 아래와 같이 tee 명령을 사용하면 됩니다. 

 

<명령어>

$ ./temperature.sh | tee temp.txt

 

<출력 결과>

45764
45764
45277
45277

 

출력 결과는 기존과 동일하지만, 쉘에 출력된 표준 출력 내용이 temp.txt 파일에 동일하게 저장된 것을 알 수 있습니다. 

 

$ cat temp.txt
45764
45764
45277
45277

 


[발열 그래프 - 방열판만 장착]

파일로 출력한 온도 정보를 표로 확인해보겠습니다. 

측정 조건은 상온에서 방열판만 장착한 상태입니다. 

 

방열판만 장착한 라즈베리파이

방열판만 장착한 라즈베리파이의 발열 그래프

 

방열판만 장착한 라즈베리파이의 발열 그래프를 보면, 약 45℃로 수렴하는 것을 알 수 있습니다. 

 


[발열 그래프 - 쿨러 장착]

쿨링팬까지 장착한 상태에서의 발열을 확인해보겠습니다.

방열판과 쿨링팬을 장착한 라즈베리파이

5V 쿨링팬의 경우 GPIO의 4 번핀(5V)과 6 번핀(GND)을 이용하면 됩니다.

 

추가적으로 쿨링팬까지 장착한 경우 즉각적으로 CPU의 온도가 떨어지면서 약 33℃ 정도로 수렴하는 것을 확인할 수 있었습니다. 

방열판과 쿨링팬을 장착한 라즈베리파이의 발열 그래프


[발열 그래프 - USB 선풍기 사용]

이번에는 USB 선풍기를 장착해보겠습니다.

 

 

60도 정도로 열평형이 이뤄진 상태에서 USB 선풍기를 동작시켰더니 완만하게 온도가 내려가다가 약 36도로 수렴하는 것을 확인할 수 있습니다. 쿨링팬을 사용하는 것도 방법이지만, USB 선풍기로 충분히 대체가 가능하다고 봅니다.

 

[라즈베리파이의 동작 온도 및 최대 온도]

라즈베리파이의 Data Sheet를 보면, 0℃ ~ 50℃ 사이의 온도에서 동작시키도록 권장되고 있습니다.

 

특별한 쿨링 장치 없이 동작하도록 디자인되어 있으나, CPU의 부하가 높아지면 CPU의 동작 스피드와 전압을 낮춰서 절대 85℃가 넘지 않도록 합니다.

 

만약 CPU 동작 스피드나 전압을 낮추지 않고 동작시키기 위해서는 추가적인 쿨링 장치들을 장착할 필요가 있습니다. 

5.6 Temperature Range and Thermals

The recommended ambient operating temperature range is 0 to 50 degrees Celcius.

To reduce thermal output when idling or under light load, the Pi4B reduces the CPU clock speed and
voltage. During heavier load the speed and voltage (and hence thermal output) are increased. The
internal governor will throttle back both the CPU speed and voltage to make sure the CPU temperature
never exceeds 85 degrees C.

The Pi4B will operate perfectly well without any extra cooling and is designed for sprint performance -
expecting a light use case on average and ramping up the CPU speed when needed (e.g. when loading
a webpage). If a user wishes to load the system continually or operate it at a high termperature at full
performance, further cooling may be needed.

- 출처 : 라즈베리파이 data sheet -

결론을 말씀드리자면, 라즈베리파이는 0℃ ~ 50℃ 사이의 환경에서 동작시킨다면, 알아서 CPU 온도를 제어하게 되고, 만약 이런 속도 저하 없이 지속적으로 performance를 유지할 필요가 있다면 방열판이나 쿨링팬 등이 필요합니다. 

 

[쓰로틀 여부 확인 방법]

CPU의 동작 온도가 높아질 경우 라즈베리파이는 자동으로 CPU의 성능을 떨어트리는 쓰로틀(throttle)이라는 동작을 수행합니다. 쓰로틀이 발생했는지 여부를 확인하는 명령은 아래와 같습니다.

$ sudo vcgencmd get_throttled

 

위와 같이 입력해서 출력된 메시지입니다.  

결괏값은 아래와 같습니다. 비트들의 조합으로 출력됩니다. 

의미 비고
BIT_0 under-voltage  
BIT_1 arm frequency capped  
BIT_2 currently throttled  
BIT_16 under-voltage has occurred  
BIT_17 arm frequency capped has occurred  
BIT_18 throttling has occurred  

출처 : https://www.raspberrypi.org/forums/viewtopic.php?f=63&t=147781&start=50#p972790

 

[끝 맺음말]

간단하게 CPU의 온도를 확인하는 것부터 시작해서, 라즈베리파이의 발열 그래프를 확인해보았습니다. 

뿐만 아니라, 라즈베리파이의 Data Sheet의 동작 온도 부분가지 다뤄보았습니다. 

 

이상입니다. 

 

<더보기>

 

유동IP를 고정IP로 변경하는 방법 (SKB DVW-2000N 인터넷 공유기 기준)

본 페이지에서는 유동IP를 고정IP로 변경하는 방법에 대해서 기술하고자 합니다. ISP는 SKB이고 인터넷 공유기는 DVW-2000N 기준으로 설명드립니다. 개요 우리나라에 인터넷이라는 것이 널리 보급되

frankler.tistory.com

 

라즈베리파이를 이용한 파워 릴레이 제어 방법(GPO 제어)

본 페이지에서는 라즈베리파이를 이용해서 파워 릴레이를 제어하는 방법에 대해서 기술하고자 합니다. 라즈베리파이와 릴레이만 있으면 손쉽게 파워를 제어할 수 있습니다. 개요 라즈베리파이

frankler.tistory.com

 

 

[라즈베리파이] LED 4번 깜빡이는 부팅불량 발생시 조치방법

모니터도 키보드도 없는 Embedded 환경에서 FW 개발업무를 10년 이상 하다 보니, 모니터와 키보드가 있는 환경이 오히려 불편하다고 생각하는 개발자입니다. 처음부터 headless 환경에서 라즈베리파

frankler.tistory.com

 

 

 

라즈베리파이에 FTP 서버 설정 (proftpd inactive 문제 해결 방법)

오늘은 라즈베리파이에 FTP 서버를 설정하는 방법에 대해서 기록해두고자 합니다. 저는 Ubuntu Desktop 운영체제를 설치하여 사용하고 있는데요. x86 계열의 PC에 설치된 Ubuntu와 뭔가 조금씩 상이한

frankler.tistory.com

 

 

 

인터넷 느림 문제점의 의외의 간단한 해결 방법 (불량 랜선 교체)

오늘 아침부터 갑자기 살인적인 인터넷 느림 증상을 경험했습니다. 인터넷이 느린 이유는 여러 가지가 있겠지만 이번의 경우는 어이없게도 잘못 만든 랜선의 문제였네요. 저는 상용 랜선도 사

frankler.tistory.com

 

 

라즈베리파이 Ubuntu Linux 초기 비밀번호

많은 사람들이 라즈베리파이를 시작할때 Raspberry Pi OS를 사용합니다. 반면, 저는 현업에서 Ubuntu Linux를 사용하던 개발자라서, 자연스럽게 라즈베리파이에 Ubuntu Linux를 설치하게 되었습니다. 저는

frankler.tistory.com

 

 

라즈베리파이 유선 IP 주소 확인하는 방법 (DVW-2000N 인터넷 공유기 기준)

안녕하세요? 오만뒤입니다. 오늘은 모니터 없이 라즈베리파이 유선 IP 주소를 확인하는 방법에 대해서 설명드리겠습니다. [개요] 저는 embedded device를 개발하는 firmware 개발자로 10년 넘게 일하다

frankler.tistory.com

 

 

[라즈베리파이] GPO 포트로 LED 제어하기

약 20년 전 대학교 전자전기컴퓨터학부에 처음으로 입학했을 때, 전자공학실험수업에서 '빵판'이라는 것을 처음 접했을 때가 아직도 기억납니다. 그 당시 수업을 진행하는 대학원생분이 '빵판'

frankler.tistory.com

 

반응형