OllamaをRaspberry Pi 5で動かす方法|ARM64 LinuxでローカルLLMを省電力サーバーとして構築する手順

運営:リナックスマスター.JP(代表 宮崎智広)
HOME > Linux技術 リナックスマスター.JP(Linuxマスター.JP) > ローカルLLM > OllamaをRaspberry Pi 5で動かす方法|ARM64 LinuxでローカルLLMを省電力サーバーとして構築する手順
「Raspberry Pi 5でOllamaが本当に実用的に動くのか知りたい」
「クラウドAIに頼らずに家庭や小規模オフィスで省電力のローカルLLMサーバーを立てたい」

そんな需要に応えるため、OllamaはARM64アーキテクチャに公式対応しており、Raspberry Pi 5(8GBモデル)上でも軽量な量子化モデルを動かせる。消費電力はアイドル時で5W前後、推論時でも15W程度に収まり、24時間稼働のサーバーとして月の電気代コストを大幅に抑えられる。
この記事では、Ubuntu Server 24.04 LTS ARM64のセットアップからOllamaのインストール、モデルのUSB SSD配置、温度管理まで、Raspberry Pi 5上での実装手順を解説する。

この記事のポイント

・OllamaのインストールスクリプトはARM64を自動検出し、Raspberry Pi 5でも通常のcurlコマンドで導入できる
・8GBモデルではGemma 3(2B・q4_K_M)やPhi-4(q4_K_M)など3GB以内に収まるモデルが実用的な速度で動作する
・モデルファイルはUSB SSDに保存しOLLAMA_MODELSで参照先を変更することでロード時間を大幅に改善できる
・vcgencmd measure_tempで温度を監視しアクティブクーラーを搭載するとサーマルスロットリングを防げる


OllamaをRaspberry Pi 5で動かす方法|ARM64 LinuxでローカルLLMを省電力サーバーとして構築する手順

「このままじゃマズい」と感じていませんか?
参考書を開く気力もない、同年代に取り残される不安——
でも安心してください。プロのエンジニアはコマンドを暗記していません。
「現場で使える型」を効率よく使いこなしているだけです。
姓・名・メールの3つだけ/30秒/解除は3秒 / 詳細はこちら

Raspberry Pi 5でOllamaが動く理由と制約

Raspberry Pi 5のCPUはCortex-A76コアを4基搭載したARM64プロセッサだ。OllamaはLinux ARM64向けのバイナリを公式に提供しており、通常のインストールスクリプトが自動的に適切なバイナリを選択してインストールする。

ただし、Raspberry Pi 5には独立したGPUがない。OllamaがGPUを使えない環境ではCPUのみで推論を行うため、NVIDIA GPUを搭載したx86サーバーと比べると推論速度は格段に遅くなる。目安として、Gemma 3(2B・q4_K_M)で3~8トークン/秒程度が現実的な速度だ。

チャット形式での利用やテキスト要約、コード補完の確認など「速度よりもコストを優先したい」用途には十分なパフォーマンスが出る。逆に、大量のドキュメントをバッチ処理するような用途には向かない。OllamaのパフォーマンスをGPU構成で最大化する方法はUbuntu ServerでローカルLLMを構築する方法で解説している。

OSとOllamaで合計1GB以上消費するため、4GBモデルでは選択肢が非常に限られる。8GBを推奨する理由はここにある。

必要なハードウェアとUbuntu Server 24.04 ARM64のセットアップ

最低限必要なハードウェア構成は以下のとおりだ。
・Raspberry Pi 5(8GB RAMモデル推奨)
・公式アクティブクーラー(または信頼できるサードパーティ製ヒートシンク+ファン)
・USB 3.0接続のSSD(モデル保存用・64GB以上を推奨)
・microSDカード(OS起動用・32GB・A2クラス以上)

アクティブクーラーはコスト削減のために省略されることがあるが、LLM推論は持続的な高CPU負荷をかけるため、冷却なしでは85°Cを超えてサーマルスロットリングが発生する可能性が高い。省略しないことを強く勧める。

1. Raspberry Pi ImagerでのOSイメージ書き込み

Raspberry Pi Imager(公式ツール)でmicroSDカードにUbuntu Server 24.04 LTS(64-bit)を書き込む。書き込み前の「詳細設定」でSSHを有効化し、ユーザー名とパスワードを設定しておくと初回ログインがスムーズだ。

2. 初回起動とシステム更新

$ ssh ubuntu@raspberrypi.local # またはIPアドレスでSSH接続 $ sudo apt update && sudo apt upgrade -y $ sudo apt install -y curl wget htop $ uname -m # 出力: aarch64 (ARM64が確認できること)

`uname -m` で `aarch64` が表示されればARM64環境が正しくセットアップされている。

3. USB SSDのマウント設定

$ lsblk # USB SSDのデバイス名を確認(例: /dev/sda) $ sudo mkfs.ext4 /dev/sda1 $ sudo mkdir -p /mnt/ollama-models $ echo '/dev/sda1 /mnt/ollama-models ext4 defaults,nofail 0 2' | sudo tee -a /etc/fstab $ sudo mount -a $ df -h /mnt/ollama-models # 容量が表示されればマウント成功

`nofail` オプションはUSB SSDが接続されていなくてもOS起動が止まらないようにするためのものだ。

OllamaのARM64版インストールと動作確認

1. インストールスクリプトの実行

$ curl -fsSL https://ollama.com/install.sh | sh # インストール完了後に確認 $ ollama --version $ systemctl status ollama | head -8

インストールスクリプトはアーキテクチャを自動検出してARM64用バイナリをダウンロードする。x86_64環境とまったく同じコマンドで導入できる。

2. テストモデルのダウンロードと推論確認

$ ollama pull gemma3:2b-instruct-q4_K_M $ time ollama run gemma3:2b-instruct-q4_K_M "Linuxとは何ですか?50字で説明してください。" # 応答後に表示される tokens/sec を確認する

初回はモデルロードに数十秒かかる。推論速度が1トークン/秒以下の場合はサーマルスロットリングが起きている可能性があるため、後述の温度管理セクションを確認してほしい。

8GB RAMで動かせる量子化モデルの選び方

Raspberry Pi 5(8GB)でOllamaを安定して動かすには、ロード時にRAMに収まるサイズのモデルを選ぶ必要がある。OSとOllamaのオーバーヘッドを差し引くと、モデルに使えるRAMは実質6GB程度だ。

実用的な選択肢は以下になる。
・`gemma3:2b-instruct-q8_0`(約2.3GB): 品質重視の小型モデル。最も安定して動く
・`gemma3:2b-instruct-q4_K_M`(約1.5GB): 速度と品質のバランスが取れており最初の選択肢として最適
・`phi4-mini:3.8b-instruct-q4_K_M`(約2.4GB): コード補完や英語タスクに強い

Mistral(7B)のq4_K_Mは約4.1GBで8GBモデルに収まるが、安定性を優先するなら3GB以内のモデルから始めることを勧める。

量子化タグの種類と選び方の詳細についてはローカルLLMのモデルを比較する方法も参照してほしい。

モデルをUSB SSDに保存するOLLAMA_MODELS設定

デフォルトでは `~/.ollama/models` にモデルが保存される。microSDカードへの書き込みは速度・耐久性の両面で制限があるため、USB SSDに変更する。

1. systemd overrideでOLLAMA_MODELSを設定する

$ sudo systemctl edit ollama # エディタが開いたら以下を入力して保存: # [Service] # Environment="OLLAMA_MODELS=/mnt/ollama-models" # Environment="OLLAMA_HOST=127.0.0.1:11434" $ sudo systemctl daemon-reload $ sudo systemctl restart ollama

2. 既存モデルの移動と動作確認

$ sudo mv ~/.ollama/models/* /mnt/ollama-models/ $ ollama list # モデル一覧が表示されれば新パスでの認識成功 $ ollama run gemma3:2b-instruct-q4_K_M "テスト" # 応答が返れば新しいパスで正常動作

USB 3.0 SSDへの変更により、モデルのロード時間がmicroSDカードに比べて3~5倍程度改善するケースが多い。

温度管理とOOMキラー対策

長時間の推論処理ではCPU温度が上昇し、85°Cを超えるとサーマルスロットリングが発生して推論速度が低下する。温度監視と対策を組み合わせることが安定稼働の鍵になる。

1. CPU温度の監視

$ vcgencmd measure_temp # 出力例: temp=62.0'C $ watch -n 2 vcgencmd measure_temp # 2秒おきに温度を表示し、推論中の温度上昇を観察する

70°C以下が通常稼働の目安だ。推論実行中に80°Cを超えるようなら冷却を強化する必要がある。

2. サーマルスロットリングの確認

$ vcgencmd get_throttled # 出力: throttled=0x0 → 正常(スロットリングなし) # 0x0以外が返った場合は過熱または電源電圧不足が発生している $ vcgencmd measure_volts core # 電源アダプターが5V/5A対応かどうかも確認する

3. OOMキラー対策のスワップ設定

8GB RAMでも大きめのモデルをロードする際にメモリ不足でプロセスが強制終了されるケースがある。スワップファイルを設定してバッファを設ける。

$ sudo fallocate -l 2G /swapfile $ sudo chmod 600 /swapfile $ sudo mkswap /swapfile $ sudo swapon /swapfile $ echo '/swapfile swap swap defaults 0 0' | sudo tee -a /etc/fstab $ free -h # Swap: 2.0G の行が出ることを確認

スワップはあくまでバッファだ。スワップI/Oが常に発生するようならモデルサイズを下げるサインだ。

Ollamaのsystemdサービスと自動起動確認

Ollamaはインストールスクリプトによってsystemdサービスとして自動設定され、OS起動時に自動的に起動する。

1. Ollamaのサービス状態確認

$ systemctl is-enabled ollama # enabled が返ること(起動時に自動起動する設定) $ sudo journalctl -u ollama -n 20 --no-pager # エラーメッセージがないことを確認

よくあるトラブルと対処法

Raspberry Pi 5特有の問題と一般的なOllamaトラブルをまとめる。

OOMキラーでOllamaが強制終了する場合
カーネルのOOMログは `sudo journalctl -k --since "1 hour ago" | grep -i "oom\|killed"` で確認できる。モデルサイズを下げるかスワップを追加する。
推論速度が1トークン/秒以下になった場合
`vcgencmd get_throttled` で `0x0` 以外の値が返ったらサーマルスロットリングが原因だ。推論を止めて温度が60°C台まで下がるのを待ってから再実行する。電源アダプターの容量不足(5V/3A以下)も速度低下の原因になるため確認する。

USB SSDがマウントされずOllamaが起動しない場合
`/etc/fstab` の `nofail` オプションの有無を確認する。このオプションがないと、SSD未接続時にOS起動がハングする。`grep ollama-models /etc/fstab` で確認し、`nofail` の文字列が含まれているかチェックする。

まとめ

Raspberry Pi 5でOllamaを安定稼働させるためのポイントを以下にまとめる。
項目 推奨設定・コマンド 理由
本体モデル選択 8GBモデル必須 OS+Ollama+モデルで6GB超えることがある
推奨モデル gemma3:2b-instruct-q4_K_M 1.5GBで収まり安定して動作する
モデル保存先 OLLAMA_MODELS=/mnt/ollama-models(USB SSD) microSDより3~5倍高速にロードできる
温度監視 vcgencmd measure_temp 70°C以下が安定稼働の目安
スロットリング確認 vcgencmd get_throttled 0x0以外はスロットリング発生を示す
OOM対策 sudo fallocate -l 2G /swapfile モデルロード中のメモリ不足バッファ
バインドアドレス制限 OLLAMA_HOST=127.0.0.1:11434 外部からの直接アクセスを防ぐ
Raspberry Pi 5は月の電気代をGPUサーバーの数分の一に抑えながらローカルLLMを常時稼働させられる選択肢だ。GPUなしの制約はあるものの、小型量子化モデルとの組み合わせでチャット・要約・コード補完といった典型的な用途には十分対応できる。まずは8GBモデルとUSB SSDを用意して、Gemma 3(2B・q4_K_M)から試すことを勧める。

ローカルLLMの環境構築を2日間のハンズオンで習得する

ハードウェア選定からOllamaのインストール、モデル設定まで体系的に学ぶには実機で手を動かすのが近道だ。実機GPU環境で手を動かしながら習得したい方向けに、「ローカルAIマスターセミナー」を開催しています。
少人数(最大8名)ZOOMハンズオン形式で実施しています。

>> ローカルAIマスターセミナーの詳細を確認する
ローカルLLMの構築・運用に関する関連記事もあわせて参考にしてください。

・Ubuntu ServerでローカルLLMを構築する方法|Ollamaで機密データを外に出さず業務AIを動かす完全ガイド
・社内でChatGPTが使えないときの代替手段|機密データを守るローカルLLMという選択肢
・ローカルLLMのモデルを比較する方法|Llama3.3・Mistral・Gemma・Phi-4をUbuntuで使い分けるポイント

無料メルマガで学習を続ける

Linuxの実践スキルをメールで毎週お届け。
登録は30秒、解除もいつでも可。

登録無料・いつでも解除できます

暗記不要・1時間後にはサーバーが動く

3,100名以上が実践した「型」を無料で公開中

プロのエンジニアはコマンドを暗記していません。
「現場で使える型」を効率よく使いこなしているだけです。
その「型」を図解60Pにまとめた入門マニュアルを、完全無料でプレゼントしています。

姓・名・メールの3つだけ/30秒/解除は3秒 / 詳細はこちら

Linux無料マニュアル(図解60P) 名前とメールで30秒登録

運営

リナックスマスター.JP(代表 宮崎智広)

株式会社イーネットマーキュリーが運営するLinux教育サイトです。代表の宮崎智広は現役のLinuxサーバー管理者として20年以上の実務経験を持ち、累計3,100名以上のエンジニアを指導してきました。実践型のLinuxセミナーや無料マニュアルの配布を通じてLinux人材の育成に取り組んでいます。