DGX Sparkのメモリ表示を読む|GPU使用量とswapの確認順

CHATGPT / AIChatGPTなどの生成AIを活用して運営・記事制作・更新を行っています。制作方針

DGX SparkでcudaMemGetInfoが示す空き容量とUMAのswap回収をどう読み分けるかを解説。実機の割り当てを保証せず、仕様確認・Linuxのメモリ観測・対象アプリでの起動確認を順に整理します。

GPU APIの表示をシステムの空き容量と照合し、最後に対象アプリで割り当てを確かめる順序図

先に結論

DGX SparkでGPUの空きメモリ表示が小さくても、直ちに「その分しか割り当てられない」とは限りません。NVIDIAは、CPUとGPUがDRAMを共有するUMAでは、CPUがページをswapへ移してDRAMを回収できる場合があり、cudaMemGetInfoはその回収可能分を数えないことがあると説明しています。したがって、GPU APIの値だけでモデルの起動可否を決めず、システム全体の状態と対象アプリでの実際の起動を順に確認します。

確認日: 2026年10月12日(Asia/Tokyo)
対象: NVIDIA DGX Spark User GuideのSystem OverviewとKnown Issuesに記載されたUMA・メモリ報告上の説明。
確認方法: NVIDIA公式資料を読み合わせた机上調査です。DGX Spark実機でのメモリ使用量、割り当て成功、swap使用時の性能は測定していません。

表示値と実際の割り当ては同じ意味ではない

DGX SparkはCPUとGPUがシステムDRAMを共有するUMA構成です。NVIDIAのシステム概要は128 GBのunified memoryを仕様として示していますが、この公称容量は、OSやほかの処理が使う分を差し引いた「今すぐGPU workloadに使える容量」ではありません。

Known Issuesは、CPUがDRAMの内容を管理し、ページをシステムのswap領域へ移すことでDRAMを空けられる場合があると説明しています。一方、cudaMemGetInfoが返す値には、swapへ移して回収できる可能性のあるメモリが含まれません。そのため同APIの空き値は、追加で割り当て可能な総量より小さく見える場合があります。

ここから「空き表示を無視してよい」「swapがあれば必ず起動できる」と結論することもできません。モデル重み以外のbufferやcontext、同時実行、アプリ固有の確保方法が関わるため、公式資料も特定モデルの起動可否を示してはいません。

安全な確認順

  1. 公称仕様と実行時の値を分ける: 128 GBはシステムの統合メモリ仕様として扱います。GPU専用メモリの容量や、モデルに予約できる容量とは読み替えません。
  2. GPU APIの値だけで判定しない: アプリやruntimeがcudaMemGetInfoを表示するなら、測定時刻と値を記録します。値はそのAPIの見積もりとして読み、swap回収分を含む全体の余裕と同一視しません。
  3. システム側の状態を同じ時刻に確認する: DGX Spark上のLinuxで、必要に応じてfree -hや/proc/meminfoなどのシステム情報を確認し、available memoryとswapの状態を別々に記録します。これはNVIDIAの例が参照するLinuxのメモリ項目を把握するための観測であり、単独で割り当て成功を保証するものではありません。
  4. 対象アプリで小さく起動確認する: 使用するモデル、context、同時実行数などを決め、他の負荷を増やさずに実際のruntimeでロードします。エラー、終了、OOMが出た場合は、モデルやcontextなど自分で変えた項目を一つずつ戻して再確認します。
  5. 成功後も条件を記録する: OS・driver・CUDA・runtimeの版、モデル、context、並列数、起動結果を残します。別のモデルや設定に結果をそのまま一般化しません。

NVIDIAのKnown Issuesにはdebugging用のcache flush例も掲載されていますが、これは通常の容量確認や起動手順ではありません。sudoでcacheを消去するコマンドを日常の診断として実行する必要はありません。

判断に迷ったとき

  • APIの空き値が小さい: その値だけを理由に諦めず、同時刻のOS側available memory・swap状態と対象runtimeの起動結果を確認します。
  • 起動時に確保エラーが出る: swap回収の理論可能性より、対象アプリが実際に確保できなかった事実を優先します。contextや同時実行など必要量を左右する条件を減らして再試行します。
  • 起動できた: その条件でロードできたことは確認できますが、長時間実行、速度、ほかのモデルへの適用までは示しません。

台数やモデルごとの容量選びはDGX Spark 1〜4台のモデルガイド、Macの搭載メモリを起点にした候補はMacのメモリ別ローカルLLM一覧で扱っています。OS全体のmemory pressureとruntime内部の割り当てを分けて見る考え方はMacのメモリ確認記事も参考になりますが、本稿のNVIDIA固有のswap説明とは別の資料です。

戻し方と未確認範囲

本稿の確認順は設定変更を前提にしません。contextや並列数を診断のために変えた場合は、記録した元の値へ戻してください。Linuxのswap構成やシステム設定を変える手順はNVIDIAの二つの参照資料だけでは裏付けられないため、ここでは案内しません。

未確認なのは、個別モデル・量子化・CUDAアプリごとの最小要件、swapへ移動した場合の性能、同時負荷や長時間運転での安定性です。空き容量表示から起動成功や応答速度を予測する数値は示していません。

公式参考資料