1

Valgrind で massif ツールを使用しています。子プロセスのヒープ メモリを追跡する必要があります。子プロセスのヒープメモリを取得するコマンドが見つかりませんでした。私のアプリケーションはデーモン サーバーです。

memcheck ツールでは、次を使用して子プロセスの詳細を取得できます

--track-children=yes

massif を使用して子プロセスのヒープ メモリを追跡する方法はありますか??

このツールは、すべての子プロセスのログ ファイルを作成しますが、メイン プロセスの massif ファイルのみを生成します。

valgrind \
--tool=massif \
--heap=yes \
--time-stamp=yes \
--time-unit=ms \
--max-snapshots=1000 \
--detailed-freq=5 \
--log-file=../Valgrind_%p_massif.log \
--massif-out-file=../masssif_%p_output \
--xtree-memory=full \
<binary_name>

すべての子プロセスに対して massif ファイルが生成されることを期待しています。ただし、メインプロセスに対してファイルを1つだけ作成します。

ファイルの最終アクセス時刻を確認しました。メイン処理実行時間からリクエスト待ちまでの時間です。

4

1 に答える 1

1

オプション --trace-children=yes がありません

--trace-children は memcheck 固有のオプションではありません。これは、exec 後に子プロセスも valgrind の下で実行する場合に、任意の valgrind ツールで使用する必要がある一般的な valgrind オプションです。

于 2019-08-09T22:15:02.420 に答える