2011-07-28 7 views
5

起動時に大きなリソースを読み込むLinuxサーバープロセスがあります。このプロセスは要求に応じてフォークします。起動時に読み込まれるリソースは最も重要なものであり、実行時には変更されません。フォークされた子プロセスは、読み取り/書き込み制御構造を使用して、定数リソースへの要求を処理します。Cのforkedプロセスで共有/コピーされたメモリページを見つける方法

どのプロセスでどのくらいの量のメモリが共有されているのか、どのプロセスがどのくらい多くのメモリを使用しているのかを調べるにはどうすればよいですか?あるいは、どのプロセスからの書き込みアクセスのためにどのページが複製されますか?

+0

この情報は '/ proc/$ pid/maps'のどこかにある可能性がありますか? – Louen

答えて

5

この情報は、procファイルシステム内の/proc/$pid/pagemap/proc/kpagecountととなります。後者へのアクセスには、所有していないプロセスメモリマッピングに関する特権情報が漏洩する可能性があるため、rootが必要です。データ形式の詳細については、Documentation/vm/pagemap.txtをカーネルのドキュメントからお読みください。

関連する問題