の特定のプロセス/proc/<pid>/smaps
、特定のマッピングエントリの場合:
- Shared_Clean
- Shared_Dirty
- Private_Clean
- Private_Dirty
さShared_Clean
+ Shared_Dirty
他のプロセスと共有されているメモリの量を?共有RSSのようなものですか?
同様に、1つのプロセスでのみ使用可能なメモリ量はPrivate_Clean
+ です。プライベートRSSのようなものですか?Private_Dirty
PSS値はPrivateRSS +(SharedRSS /それを共有するプロセスの数)ですか?
このリンクを読んだ後のいくつかの質問:LWN
ここで、プロセス全体についてお話ししましょう。そのsmapsエントリは私たちが見ています。
プロセスのすべてのsmapsエントリに対してShared_Clean
+ Shared_Dirty
+ Private_Clean
+ Private_Dirty
を実行すると、によって報告されたプロセスのRSSを取得することに気付きましたps
。例えば
ps -p $$ -o pid,rss
すべてのの合計として私にRSS用(約)同じ値を与えるShared_Clean
、Shared_Dirty
、Private_Clean
、Private_Dirty
エントリ内の/ proc / $$ / smaps。
しかし、プロセス全体のPSSはどうでしょうか?したがって、上記の例から、$$のPSSを取得するにはどうすればよいですか?すべてのsmapsマッピングにPSSエントリを追加して、$$のPSSに到達できますか?
そして、プロセス全体のUSSはどうですか?もう一度上記の例を取り上げると、$ .. rightのすべてのsmapsエントリのPrivate_ *エントリのみを合計することで、$$でUSSに到着できると思います。
注:
PSS =比例設定サイズ。
USS =一意のセットサイズ。