私は、子プロセスから呼び出されるすべてのシステムコールをトレースし、その正確なメモリ使用量を決定するプログラムを作成しています。は、Linuxの特定のプロセスで使用されているメモリの量を計算します。
ここは私の計画です。
父プロセスによってptraceさLETの子プロセス、
子プロセスがシステムコールを行う場合、父親のプロセスはSIGTRAPを受け取るだろう、
、その後のptrace(PTRACE_PEEKUSER、child_pid、4 *のORIG_EAX、NULL)でシステムコールIDを取得。
idは、私はコールのパラメータを取得し、メモリ使用量を計算することができる午前SYS_brk、SYS_sbrk、SYS_mmap2、SYS_mmap、SYS_mremap、SYS_munmap、
に等しいです。
が、それは
私が計算するかどうかはわかりませんことを私困ります。
SYS_mmap2には6つ以上のパラメータがありますが、どうすれば入手できますか?
もあります'ps'の出力を解析しますか? –
@DietrichEpp、少なくともあなたは 'libprocps4-dev'のようなライブラリを使い、psの出力は読まないでください。 –