複数のメモリマッピングファイルを使用するアプリケーションがあります。メインページの障害(使用量)数を確認すると/proc/<pid>/stat
急増します。
どのメモリマッピングファイルがプロセスのページスワップイン/アウトによって影響を受けるかどうかを監視できるかどうか疑問に思います。
少なくとも、プロセスがアクセスしたマッピングされたファイルを確認したいと思います。私はstraceを使ってみましたが、メモリに直接アクセスするためにシステムコールを必要としないようで、読み込みがないことがわかりました。
また、このようなことが発生するプロセス空間の仮想アドレスを知ることができてうれしいので、少なくともpmap出力のファイルに手動でマッピングすることができます。
答え1
perf trace -F maj
http://man7.org/linux/man-pages/man1/perf-trace.1.html
既存のプロセスに接続するにはを使用します。-p $PID
システムコールが表示されないようにするには、--no-syscalls
それを無視することもできます。システムコールパラメータは同じレベルの詳細では表示されませんstrace
。