본문 바로가기
Embedded

RaspberryPi- 하드웨어 정보 얻기

by gigasound 2021. 8. 10.

CPU 온도 알아보기

CPU의 온도를 다음과 같은 명령어로 알아볼 수 있습니다.

vcgencmd measure_temp

그러면 다음과 같은 내용이 화면에 보입니다.

temp=47.2'C

여기서 숫자만 추출해서 기록하고 싶으면 다음과 같은 shell 명령어를 만들면 됩니다.

cgencmd measure_temp | grep -o '[0-9]*\.[0-9]*'

그러면 온도 부분의 숫자만 출력됩니다. 


CPU 사용률

CPU의 사용률을 구하려면 먼저 다음의 파일을 설치해야 합니다.

sudo apt-get install sysstat -y

그리고 다음과 같이 실행하면 CPU의 전반적인 상태를 보여줍니다.

mpstat
Linux 5.10.52-v7+ (pi3-27)      2021년 08월 10일        _armv7l_        (4 CPU)

22시 07분 40초  CPU    %usr   %nice    %sys %iowait    %irq   %soft  %steal  %guest  %gnice   %idle
22시 07분 40초  all    3.53    0.04    1.64    3.47    0.00    0.07    0.00    0.00    0.00   91.26

이분에서 CPU의 사용률만 추출하는 방법은 다음과 같습니다.

mpstat | tail -1 | awk '{print 100-$NF}'

그러면 CPU 사용률만 숫자로 출력됩니다.


메모리 사용률

메모리 상태는 free라는 명령어로 알아볼 수 있습니다. 

              total        used        free      shared  buff/cache   available
Mem:         892584      135432      306232       12348      450920      684748
Swap:        102396           0      102396

이 내용을 정리해서 메모리 사용률을 계산해야 합니다. 사용률은 다음과 같이 명목적 사용률과 실질적 사용률로 구분해서 구해집니다.

명목적 사용율 사용률%=(total-free)/total * 100
실질적 사용율 사용률%=(total-available)/total * 100

다음과 같이 free 명령어를 실행하면 메모리 부분의 문장만 얻을 수 있습니다.

free|tail -n2|head -n1
Mem:         892584      135276      306244       12348      451064      684952

필요하다면 이를 파싱(parsing)으로 분리해서 total, free, available 부분을 구해서 사용률을 구하면 됩니다.


맥(MAC) 주소 구하기

네트워크 카드의 맥(MAC) 주소를 이용해서 여러 보안 프로그램을 만들 수 있습니다.

다음과 같이 쉽게 구할 수 있습니다.

cat /sys/class/net/wlan0/address

장치의 고유번호

CPU의 상태는 다음 명령어로 구할 수 있습니다.

cat /proc/cpuinf

이 중에서 CPU 기반의 장치 고유번호는 다음과 같이 구할 수 있습니다.

cat /proc/cpuinfo | tail -n2 | head -n1