私が見つけたいくつかの一般的なプロパティは次のとおりです。
top(VIRT), smem(VSS), /proc/pid/statm(ページの最初の項目), /proc/pid/status(VmSize), ps(VSZ)
top(RES), smem(RSS), /proc/pid/statm (ページの 2 番目のエントリ), /proc/pid/status(VmRSS), すべての Rss を追加: プロセスマップの /proc/pid/smaps 値、追加すべての/proc/pid/smapsプロセスマップのPrivate_.* + Shared_.*値、ps(RSS)
上部(データ)、報告されていない smem、/proc/pid/statm(ページの6番目の項目)、/proc/pid/status(VmData)、psは報告されていません
トップ(コード),報告されていない smem、/proc/pid/statm(ページの4番目の項目)、/proc/pid/status が報告されない、psは報告されていません
トップ(SHR)、報告されていない smem、/proc/pid/statm(ページの3番目の項目)、/proc/pid/status が報告されない、psは報告されていません
smem(USS), /proc/pid/smaps プロセスマップにすべての Private_.* 値を追加します。
smem(PSS), /proc/pid/smaps プロセスマップにすべての Pss: 値を追加します。
smem(Swap), /proc/pid/smaps プロセスマップにすべての Swap: 値を追加します。
上(SWAP) = 上(VIRT) - 上(RES)
質問: 上記のように、私が上記に逃した他の関係はありますか?共有できますか?
答え1
ps、top、およびsmemプログラムはすべて/ procからデータを取得します。たぶん正確な詳細を得るためにソースコードを見たいかもしれません。これらの詳細は長年にわたって変更され、引き続き変更される可能性があります。
smemプログラムはPythonスクリプトです。以下は smem のフィールドのリストです。http://selenic.com/repo/smem/file/43b299004079/smem#l271
Linuxはprocpsパッケージからtopとpsを取得します。上部のフィールドのリストは次のとおりです。http://procps.cvs.sourceforge.net/viewvc/procps/procps/top.c?revision=1.134&view=markup#l1223
psのフィールドのリストは次のとおりです。http://procps.cvs.sourceforge.net/viewvc/procps/procps/ps/output.c?revision=1.65&view=markup#l1286