私はコンパクトな組み込みARMシステムでBusyBoxを使用しています。 「トップレベル」出力、特にリストされているPythonプロセスを読み取ろうとしています。プロセスで物理メモリをどのくらい使用しますか?そしてVSZとはどういう意味ですか?システムには64MBのRAMしかありません。
メモリ:41444K使用済み、20572K使用可能、0Kフラグメンテーション、0Kバフ、18728Kキャッシュ CPU: 3% usr 3% sys 0% nic 92% アイドル 0% io 0% irq 0% Sirq 負荷平均:0.00 0.04 0.05 1/112 31667 PID PPID ユーザー統計 VSZ %VSZ %CPU コマンド 777 775 Python S 146m 241%3%/usr/bin/python -u - dpdsrv.py
答え1
VSZ
(またはVIRT
バージョンによってtop
)は、プロセスアドレス空間にマップされたメモリ量です。これには、プロセスの実行可能ライブラリと共有ライブラリ、ヒープとスタック、マップされているすべてのアイテムがサポートするページが含まれます。
示された出力例では、仮想サイズはシステムの物理メモリ量よりも大きいため、プロセスアドレス空間内のページの一部(ほとんど!)は実際にはRAMに存在しません。これは問題ではありません。多くのプログラムは多くのコードを含み、多くの共有ライブラリをマッピングしますが、実際にはそのコードの一部のみを使用するか、少なくとも同時にそのコードの一部のみを使用するため、カーネルが使用しないたびに放棄すること、未使用の部分はメモリから取得するそもそもロードされていない場合も同様です。
あなたのバージョンには、現在のプロセスアドレス空間のRAMにあるメモリ量を示す列がtop
表示されていないようです。RES