Raspberry Pi の OS に関する情報やハードウェアの情報を得る
インストールされている OS を確認する
インストールされている OS を確認するには、「 lsb_release 」コマンドを使用します。「 -a 」オプションをつけることで OS の情報をすべて出力してくれます。
pi@raspberrypi:~ $ lsb_release -a
No LSB modules are available.
Distributor ID: Raspbian
Description: Raspbian GNU/Linux 10 (buster)
Release: 10
Codename: buster
「 lsb_release 」以外に次の方法で OS のバージョンを知ることができます、
pi@raspberrypi:~ $ cat /etc/debian_version
10.0
や
pi@raspberrypi:~ $ cat /etc/issue
Raspbian GNU/Linux 10 \n \l
カーネルの情報を確認する
カーネルのバージョン等を確認するには、「 uname 」コマンドを使用します。「 -a 」オプションをつけることで、カーネルに関する情報を出力してくれます。
pi@raspberrypi:~ $ uname -a
Linux raspberrypi 4.19.57-v7+ #1244 SMP Thu Jul 4 18:45:25 BST 2019 armv7l GNU/Linux
「 uname 」コマンド以外に次の方法でもカーネルのバージョンを確認することができます。
pi@raspberrypi:~ $ cat /proc/version
Linux version 4.19.57-v7+ (dom@buildbot) (gcc version 4.9.3 (crosstool-NG crosstool-ng-1.22.0-88-g8460611)) #1244 SMP Thu Jul 4 18:45:25 BST 2019
CPU の温度や動作クロック、各種設定が取得できる vcgencmd コマンド
vcgencmd コマンドを使うと CPU の温度や動作電圧など Raspberry Pi の動作状況を確認することができます。
また、 Raspberry Pi には、通常のPCにおけるUEFI(BIOS)で指定する各種設定が /boot/config.txt に定義されているのですが、それらの情報も vcgencmd コマンドで取得することができます。
SoC の温度を取得する
「 measure_temp 」コマンドを指定することで、 SoC (BCM2835)の温度を確認することができます。
pi@raspberrypi:~ $ vcgencmd measure_temp
temp=47.2'C
「 measure_temp 」コマンド以外に次の方法でも温度を確認することができます。ただし、出力される値を 1000 分の 1 する必要があります。
pi@raspberrypi:~ $ cat /sys/class/thermal/thermal_zone0/temp
47236
CPU の動作電圧を取得する
「 measure_volts 」コマンドを指定することで、 CPU の動作電圧を確認することができます。
pi@raspberrypi:~ $ vcgencmd measure_volts
volt=1.2000V
「 measure_volts 」コマンドでは、 CPU 以外に SDRAM 周りの動作電圧も確認することができます。その場合、「 measure_volts 」に id を指定します。
pi@raspberrypi:~ $ vcgencmd measure_volts sdram_c
volt=1.2500V
指定できる id は、4つ用意されており次の電圧を確認することができます。
id(Device) | 説明 |
---|---|
core | Core |
sdram_c | SDRAM controller |
sdram_i | SDRAM I/O |
sdram_p | SDRAM physical |
pi@raspberrypi:~ $ for id in core sdram_c sdram_i sdram_p ; do \
> echo -e "$id: $(vcgencmd measure_volts $id)" ; \
> done
core: volt=1.2000V
sdram_c: volt=1.2500V
sdram_i: volt=1.2500V
sdram_p: volt=1.2250V
動作周波数を取得する
CPU などの動作周波数を確認するには、「 measure_clock 」コマンドに対象( arm )を指定します。
pi@raspberrypi:~ $ vcgencmd measure_clock arm
frequency(45)=600000000
出力される結果は、 600000000 Hz なので換算すると 600 MHz になります。 CPU 以外に次の動作周波数を確認することができます。
Clock | 説明 |
---|---|
arm | ARM CPU |
core | Core |
dpi | Display Pixel Interface |
emmc | External MMC device |
h264 | h.264 encoder |
hdmi | HDMI clock |
isp | Image Sensor Pipeline |
pixel | Pixcel clock |
pwm | Pulse Width Modulation |
uart | UART clock |
v3d | Video 3D |
その他 CPU に関する情報
vcgencmd コマンド以外にシステム統計情報からも CPU の情報を確認することができます。
pi@raspberrypi:~ $ cat /proc/stat | grep cpu
cpu 272899 214 51087 176254462 7665 0 64948 0 0 0
cpu0 108219 129 19472 43558827 2012 0 64941 0 0 0
cpu1 62656 39 11796 44217690 969 0 2 0 0 0
cpu2 41767 41 8836 44237006 614 0 4 0 0 0
cpu3 60257 5 10983 44240938 4069 0 1 0 0 0
各コア別の情報とトータル(4コア)の情報が別々に出力されるようです。
user | nice | system | idle | iowait | irq | softirq | steal | quest | quest_nice | |
---|---|---|---|---|---|---|---|---|---|---|
cpu | 272899 | 214 | 51087 | 176254462 | 7665 | 0 | 64948 | 0 | 0 | 0 |
cpu0 | 108219 | 129 | 19472 | 43558827 | 2012 | 0 | 64941 | 0 | 0 | 0 |
cpu1 | 62656 | 39 | 11796 | 44217690 | 969 | 0 | 2 | 0 | 0 | 0 |
cpu2 | 41767 | 41 | 8836 | 44237006 | 614 | 0 | 4 | 0 | 0 | 0 |
cpu3 | 60257 | 5 | 10983 | 44240938 | 4069 | 0 | 1 | 0 | 0 | 0 |
- user:ユーザーモードで費やされた時間
- nice:ユーザーモードで低優先度(nice)で過ごした時間
- system:システムモードで費やされた時間
- idle:アイドルタスクで費やされた時間
- iowait:I/Oが完了するのを待つ時間
- irq:割り込みを処理する時間
- softirq:ソフト割り込みを処理する時間
- steal:仮想化された環境で動作しているときに他のオペレーティングシステムで費やされた時間
- guest:Linuxカーネルの制御下でゲストOS用に仮想CPUを実行するのに費やされた時間
- guest_nice:Linuxカーネルの制御下にあるゲストOS用の仮想CPUの実行に費やされた時間
config.txt に設定された情報を確認する
Raspberry Pi 起動時に読み込まれる config.txt (BIOSの代わり)に設定された情報は、「 vcgencmd 」コマンドの 「 get_config 」に設定項目を指定することで確認できます。
例えば、 CPU のクロックを確認したい場合、「 arm_freq 」を指定することで確認できます。
pi@raspberrypi:~ $ vcgencmd get_config arm_freq
arm_freq=1400
CPU ( arm ) のクロックが 1.4 GHz であることが確認でき、「 vcgencmd measure_clock arm 」コマンドから取得した結果から、通常動作が 600 MHz で動作していることが確認できます。
「 vcgencmd get_config 」コマンドには、int (整数)又は str (文字列)を指定することもでき、設定値が指定した型のもののみを表示することができます。
pi@raspberrypi:~ $ vcgencmd get_config int
aphy_params_current=819
arm_freq=1400
audio_pwm_mode=514
config_hdmi_boost=5
core_freq=400
desired_osc_freq=0x331df0
desired_osc_freq_boost=0x3c45b0
disable_commandline_tags=2
disable_l2cache=1
disable_overscan=1
display_hdmi_rotate=-1
display_lcd_rotate=-1
dphy_params_current=547
force_eeprom_read=1
force_pwm_open=1
framebuffer_ignore_alpha=1
framebuffer_swap=1
gpu_freq=300
init_uart_clock=0x2dc6c00
lcd_framerate=60
over_voltage_avs=37500
over_voltage_avs_boost=0x23186
pause_burst_frames=1
program_serial_random=1
sdram_freq=450
hdmi_force_cec_address:0=65535
hdmi_force_cec_address:1=65535
hdmi_pixel_freq_limit:0=0x9a7ec8
config.txt で指定可能なパラメータは、 config-txt で確認することができます。