![top、ps、/proc/pid/statm、/proc/pid/status、/proc/pid/smaps で報告されたさまざまなプロセス属性の接続 [閉じる]](https://linux33.com/image/21495/top%E3%80%81ps%E3%80%81%2Fproc%2Fpid%2Fstatm%E3%80%81%2Fproc%2Fpid%2Fstatus%E3%80%81%2Fproc%2Fpid%2Fsmaps%20%E3%81%A7%E5%A0%B1%E5%91%8A%E3%81%95%E3%82%8C%E3%81%9F%E3%81%95%E3%81%BE%E3%81%96%E3%81%BE%E3%81%AA%E3%83%97%E3%83%AD%E3%82%BB%E3%82%B9%E5%B1%9E%E6%80%A7%E3%81%AE%E6%8E%A5%E7%B6%9A%20%5B%E9%96%89%E3%81%98%E3%82%8B%5D.png)
私が見つけたいくつかの一般的なプロパティは次のとおりです。
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