VPSでOllama(オラマ = パソコンやサーバー上でAIモデルを無料で動かすソフト)を試したいけれど、メモリ2GB・4GB・8GBのどれを選べば実際に動くのか分からず契約前で止まっていませんか。

この記事を読むと、メモリを制限した環境で実際にOllamaを動かして計測した生成速度・メモリ使用量・限界点をもとに、自分に合うメモリ枠を3分で判断できるようになります。

対象は、これからVPSでOllamaを試したい初心者の方です。対象外は、生成速度そのものを重視する方と、7B以上の大きいモデルを使いたい方です(理由は次の「迷ったらこれ」で説明します)。なお今回の実測はVPS本体ではなくローカルPC上のDockerでメモリ・CPUを制限して再現した環境です。この点の詳細は末尾の「もっと詳しく」に書いています。

迷ったらこれ:初めてなら「メモリ4GB+3B級モデル」から

初めてOllamaをVPSで試すなら、メモリ4GBのプラン+3B級(「B」はパラメータ数10億単位を表し、3Bならおよそ30億)のモデル(qwen2.5:3bなど)から始めるのがおすすめです。理由は実測データにもとづく2つです。

3Bモデルのメモリ使用率を2GBと4GBで比較した図
4GBなら3Bモデルの使用率は69.64%で余裕、2GBは99.92%まで埋まり長文生成はタイムアウトした。
  1. 4GBでは3Bモデルのメモリ使用率が69.64%に収まり、ロード時間も6.71秒と実用的でした。同じ3Bを2GBで動かすと、メモリ使用率は99.92%まで埋まり、短い文章は生成できても長め(500トークン程度)の生成は90秒待っても応答が返らずタイムアウトしました。
  2. 生成速度そのものはメモリ枠を上げても伸びませんでした(0.5Bは2GB・4GB・8GBのどこでも約13トークン/秒、3Bはどこでも約3トークン/秒で横ばい)。今回の環境では速度を決めていたのはメモリではなく割り当てCPU(2vCPU固定)だったため、まず動作の安定性でメモリ枠を選ぶのが合理的です。

合わない人: 生成速度そのものを重視する人には、この推奨は当てはまりません。上記の通り今回の実測ではメモリを増やしても速度は変わらず、速度を左右していたのはCPUでした。速度を上げたいなら、メモリ枠ではなくvCPU数の多いプランやGPU対応の有無を確認する必要があります(GPU環境は今回未実測です)。また、応答品質より価格を優先するなら、0.5Bモデルは2GBでも安定動作した(メモリ使用率29.1%・13.2トークン/秒)ので、2GB+0.5Bも選択肢になります。

自分に合うメモリ枠を決める最短4ステップ

メモリ枠決定までの4ステップを示す手順図
契約前の確認から動作テストまでを4ステップで進めれば、大きな失敗を避けられる。

ステップ1: 契約予定・契約済みのVPSのメモリ容量を確認する(所要時間: 1分)

VPSの管理画面やプラン一覧でメモリ容量を確認します。つまずきポイント: 今回計測したのはDockerコンテナ内で動くOllama単体のメモリ使用量です。実際のVPSではOSやSSHサーバーなどが別にメモリを使うため、余裕は今回の数字より小さくなります(この上乗せ分自体は今回未計測です)。

ステップ2: 早見表で組み合わせを決める(所要時間: 2分)

メモリ枠試したモデル結果生成速度メモリ使用率
2GBqwen2.5:0.5b✅ 安定動作13.2 tok/s29.1%
2GBqwen2.5:3b⚠️ 余裕ゼロ・長文生成は失敗3.38 tok/s(短文のみ)99.92%
4GBqwen2.5:0.5b✅ 安定動作13.25 tok/s15.08%
4GBqwen2.5:3b✅ 安定動作3.08 tok/s69.64%
8GB0.5bと3bを両方ロード✅ 両方動作各モデルは上記と同水準合計約4.2GiB

つまずきポイント: 表はqwen2.5の0.5Bと3Bの2サイズのみの実測です。7B以上の大きいモデルは今回のダウンロード予算(合計3GB)を超えるため試していません。他のモデルを使う場合、同じ傾向になるとは限りません。

ステップ3: 同じプロンプトを実際に投げて動作を確認する(所要時間: 数分〜)

公式のDockerイメージ(ollama/ollama)でOllamaサーバーを起動したら、まず短い日本語プロンプトを/api/generateに送って動作確認するのが安全です。つまずきポイント: 今回のテストで一番時間を溶かしたのはモデルの重さではなく文字コードでした。日本語を含むJSONを二重引用符でそのままcurlのコマンドラインに埋め込んだところ、UTF-8のバイト列が壊れ、モデルが文字化けした入力に困惑した英語で返答するという事態になりました。原因はモデルの日本語能力ではなく、リクエスト作成側のエンコーディング事故です。JSONは一度ファイルに書き出し、curl --data-binary @request.jsonの形で送ると解決します。SSH越しに手動でAPIを叩いて確認する人は同じ罠を踏みやすいので、先に知っておくと時間を節約できます。

ステップ4: 2GBで3Bモデルを使うなら、生成量を絞って試す(所要時間: 数分)

2GBメモリで3B級モデルを使う場合、短いプロンプト・短い生成量なら動作しますが、今回の実測では生成トークン数を500程度まで増やしたところ90秒待っても応答が返りませんでした(メモリ使用率は99.97%まで到達)。2GBで3B級を使うなら、生成トークン数の上限を小さめに設定するか、素直に0.5B級か4GBプランに切り替えるのが安全です。

よくある失敗Top3

JSON文字化け・タイムアウト・使用率99%誤認という3つの失敗を示す図
実測で踏んだ3つの失敗パターン。先に知っておけば同じ罠は避けられる。
  1. 日本語入りJSONを直接curlコマンドに埋め込んで文字化けさせる: 今回の実測でも最初にこれで躓きました。JSONは一度ファイルに書き出してから送るのが安全です。
  2. 2GBで3Bモデルに長文生成をさせてタイムアウトする: 短文では動いても、生成量を増やすと今回の実測では90秒待っても応答が返りませんでした。2GBで大きめのモデルを使うなら生成量を絞ります。
  3. メモリ使用率が99%近い状態を「動いているから大丈夫」と判断してしまう: 2GBで3Bモデルを動かした際のメモリ使用率は99.92%〜99.97%でした。動作はしますが余裕がほぼないため、他の処理が少し増えるだけで不安定になるリスクがあります。

次の一歩

まずは契約予定のメモリ枠に合わせて、上の早見表の組み合わせを実際に試してみてください。2GBなら0.5B級、4GB以上なら3B級から始めると、今回の実測の範囲では安定して動きました。

VPS自体の料金やスペックで比較検討したい方は、ConoHa VPS・Xserver VPS・さくらのVPSを比較した記事も参考にしてください → VPS料金・スペック比較はこちら

もっと詳しく

メモリ余裕とロード時間の関係を8GB・4GB・2GBで比較した図
3Bモデルのロード時間は、メモリの余裕が少ないほど長くなった(8GB:1.33秒→2GB:19.61秒)。

実測の全データ

モデルメモリ制限結果生成速度メモリ実使用量ロード時間
qwen2.5:0.5b2GB✅成功13.2 tok/s596.1MiB(29.1%)1.44秒
qwen2.5:0.5b4GB✅成功13.25 tok/s617.8MiB(15.08%)3.20秒
qwen2.5:0.5b8GB✅成功12.94 tok/s4.196GiB(3bと同時ロード時の合計)0.16秒(ウォーム)
qwen2.5:3b2GB⚠️成功だが余裕ゼロ3.38 tok/s1.998GiB/2GiB=99.92%19.61秒
qwen2.5:3b2GB(長文生成)❌失敗(90秒タイムアウト)1.999GiB/2GiB=99.97%
qwen2.5:3b4GB✅成功3.08 tok/s2.786GiB/4GiB=69.64%6.71秒
qwen2.5:3b8GB✅成功2.98 tok/s4.212GiB(0.5bと同時ロード時の合計)1.33秒(ウォーム)

ロード時間はメモリの余裕に比例して伸びた

3Bモデルのロード時間は、メモリに余裕があるほど短くなりました(8GB: 1.33秒 → 4GB: 6.71秒 → 2GB: 19.61秒)。メモリが逼迫するほどロード処理が遅くなる傾向が見られましたが、原因(ページングやガベージコレクションなど)までは今回計測していません。

この実測の前提(正直な開示)

今回の実測はVPS本体ではなく、Windows PC上のDocker Desktopでメモリを2GB/4GB/8GB・CPUを2コアに制限したコンテナで行いました。実際のVPSに近い条件を再現する狙いですが、実機のVPSそのものではありません。また、計測したメモリ使用量はDockerコンテナ内のOllamaサーバープロセス単体の値で、実際のVPSで別途動くOS・SSHサーバーなどの分は含まれていません。実機での余裕は、ここに書いた数字より小さくなる可能性が高いです(具体的な上乗せ量は未計測のため断定しません)。

8GB環境では0.5Bと3Bの両モデルが同時にメモリ上に残っているように見えました(メモリ使用量の合計が両モデル単体の使用量の合計に近い値だった)。ただしollama psコマンドで直接ロード状態を確認してはいないため、これは観察からの推測であり確定した事実ではありません。

7B以上の大きいモデルは、今回のダウンロード予算(合計3GB、実際に使用したのは0.5Bと3Bで約2.3GB)を超えるため対象外としました。より大きいモデルを使いたい場合、この記事のデータはそのまま当てはまりません。

なお「7Bモデルには8GB、13Bには16GB」といった目安をネット上で見かけることがありますが、Ollama公式ドキュメントの一次ソースには到達できておらず、この記事では確認済みの事実として扱っていません。