コミュニティソリューション

ProxmoxではZimaOSのRAMがいっぱいに見えるのに、ダッシュボードには表示されない

A 16 GB ZimaOS VM showed roughly 96% memory use in Proxmox while the ZimaOS dashboard showed about 30%.

要点:ProxmoxとZimaOSは、同じメモリを異なる視点で測定している

Proxmox VMのメモリが「95%使用中」に見える一方、ZimaOSではRAMの使用率が約30%と表示されることがあります。それだけでメモリリークとは限りません。ホストはVMに割り当てられた常駐ページを確認しますが、ゲストはRAMの大部分を再利用可能なキャッシュ、またはその他の利用可能なメモリとして分類する場合があります。

ZimaOS VMのメモリ使用率が約96%で、ゲストエージェントが設定されていないことを示すProxmox VMの概要
Proxmoxでは、16 GBのVMのメモリ使用率が約95.7%と表示され、ゲストエージェントが設定されていないことも示されていました。
同じ16 GBの仮想マシンでRAM使用率が30%と表示されているZimaOSダッシュボード
同じVM内で、ZimaOSダッシュボードのRAM使用率は約30%と表示され、Proxmoxの数値との見かけ上の食い違いが生じていました。

差のすべてをQEMU Guest Agentがないせいにしない

スクリーンショットには「ゲストエージェントが設定されていません」と表示されていますが、フォーラムの説明ではその役割が誇張されています。QEMU Guest Agentはホストとゲスト間の通信を改善しますが、詳細なゲストメモリ情報の取得にはProxmoxはバルーニングデバイスを使用します。Proxmoxは、メモリ報告のためにバルーニングデバイスを有効にしておくことを明示的に推奨しています。詳しくはProxmox VMのメモリを参照してください。

Proxmox上のZimaOSは、ZimaOSの仮想化環境における基準を示しています。

ZimaOS内では、使用率が高いと判断する前に利用可能なメモリを確認する

free -h
cat /proc/meminfo | head -20
docker stats --no-stream

available、スワップの動作、そして実際にメモリを保持しているコンテナに注目します。Linuxは空きRAMをファイルシステムキャッシュとして意図的に使用します。キャッシュされたRAMは有用で、メモリが逼迫すれば再利用できます。上流の参考資料はLinuxのメモリ使用状況です。

メモリの問題が実際に発生している場合

利用可能なメモリが減り続ける、スワップが継続的に増える、コンテナが再起動する、カーネルログにOOMによる強制終了が記録される、またはプロセスのメモリ使用量が数時間にわたって増え続ける場合は、さらに調査してください。Proxmoxの使用率が安定しているだけでは、十分な判断材料になりません。

実際のワーキングセットがわかったら、VMのハードウェア要件を参考にゲストのサイズを決めます。

傾向を比較する際は、監視方法を統一する

週ごとの診断では、Proxmoxホストの指標とZimaOSダッシュボードの指標を、同一のものとして比較しないでください。どちらか一方のレイヤーを選んで一貫して傾向を追い、もう一方は異常の原因を説明するためにのみ使用してください。