小さな埋め込みARMシステムでBusyBoxを使用しています。特にPythonプロセスがリストされているプロセスの場合、 "top"出力を読み込もうとしています。方法このプロセスが使用している実際のメモリはどれくらいですか?また、VSZは何の略ですか?システムには64 MBのRAMしかありません。
Mem:41444K使用、20572K空き、0K shrd、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
VSZ
(またはVIRT
のバージョンに応じてtop
)は、プロセスのアドレス空間にマップされたメモリの量です。これには、プロセスの実行可能ファイルと共有ライブラリ、そのヒープとスタック、およびマップされた他のすべてによって裏打ちされたページが含まれます。
表示されているサンプル出力の場合、仮想サイズはシステムの物理メモリの量よりも大きいため、プロセスのアドレス空間の一部(ほとんど!)のページは、物理的にRAMに存在していません。それは問題ではありません:多くのプログラムは大量のコードを含み、多くの共有ライブラリをマップしますが、実際にはそのコードの特定の部分のみを使用するか、少なくとも同時にコードの特定の部分のみを使用するため、カーネルが削除できますそれらが使用されないときはいつでも、または最初からそれらを決してロードしないために、メモリからの未使用部分。
お使いのバージョンのtop
にはRES
列が表示されていないようです。これは、プロセスのアドレス空間内のメモリのどの程度が現在RAMに常駐しているかを示します。