[Raspberry Pi4] GPUに割り当てるメモリを増やす

Linux

概要

Raspberry のGPUのメモリはシステムメモリと共有です。

GPUに割り当てられているメモリのサイズを変更する方法を確認してみました。

試した環境

ラズパイ4、8GB RAM 。 Ubuntu が動いています。

$ cat /proc/device-tree/model
Raspberry Pi 4 Model B Rev 1.4

$  lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 21.04
Release:        21.04
Codename:       hirsute

設定方法

現在のGPUメモリのサイズを確認します。デフォルトではGPUへの割当は76MBのようです。
システムのメモリも全然余裕がありますので、GPUの割当を増やしていきます。

$ vcgencmd get_mem gpu
gpu=76M

$ free -h
              total        used        free      shared  buff/cache   available
Mem:          7.6Gi       759Mi       6.3Gi        20Mi       603Mi       6.6Gi
Swap:            0B          0B          0B

GPUへのメモリ割り当てを増やすには、コンフィグファイルに任意の値を設定します。
あまり多く割り当てる(600MB~)と安定しないという情報があったので、ここでは512MBに設定しています。

$ sudo vi /boot/firmware/config.txt

[all]
...
# (途中略) 
# 8< 8< 8< snip 8< 8< 8<

# 下の方に追記する
# How much Memory(MB) should the GPU have?
gpu_mem=512

config.txt ファイルを変更して、システムを再起動したらGPUのメモリ設定を確認します。
設定が反映されてtotalのメモリも若干少なくなっています。

$ vcgencmd get_mem gpu
gpu=512M
$ free -h
              total        used        free      shared  buff/cache   available
Mem:          7.2Gi       712Mi       5.9Gi        28Mi       651Mi       6.2Gi

追記: raspios の場合

raspios の場合は Raspberry Pi Software Configuration Tool (raspi-config) で変更できます。

$ sudo raspi-config

4 Performance Options Configure performance settings

P2 GPU Memory Change the amount of memory made available to the GPU

How much memory (MB) should the GPU have? e.g. 16/32/64/128/256 で 設定したい数字を入力します。Okを選択したら最初の画面までもどるので、Finishを選択しましょう。

最後にFinishを選択すると リブートするかどうかを尋ねてくるので、Yes を選択してリブートします。

再起動したら設定が変更されます。 設定値は /boot/config.txt に書き込まれます。
直接テキストを編集して再起動しても設定の変更が可能です。

$ vcgencmd get_mem gpu
gpu=512M

# 設定を変更する
$ sudo vi /boot/config.txt

#一番下に追記
gpu_mem=512

#リブート
$ sudo reboot

# 再起動後
$ vcgencmd get_mem gpu
gpu=512M
わし
わし

録画した動画のエンコードが安定しなかったのはGPUのメモリ割当が少なかったから?

この設定で、もう一度ハードウェアエンコードも試してみようかな。

コメント

タイトルとURLをコピーしました