サンプルのデーモン プログラムで valgrind を実行しました。親は 1000B のチャンクを割り当てた後に終了しますが、バックグラウンドで実行される子は、2 秒ごとに malloc を介してヒープに 200B のメモリを割り当て続けます。
私の質問は次のとおりです。valgrind は実際のプロセッサでプログラムを実行しますか、それとも合成 CPU で実行しますか?
実際のヒープまたは存在しない合成 RAm にメモリを割り当てますか?
プログラムをかなり長時間実行させたので、子供はヒープに2GBのメモリを割り当てました。massif でプログラムを実装すると、親の出力ファイルが 1 つ得られ、デーモン プロセスを強制終了すると、別の massif.out が得られました。ヒープ上のメモリの割り当てを示した子の場合。