我正在使用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文件。但是它只为主进程创建了一个文件。
我检查了文件的最后访问时间。它是主进程执行到等待请求的时间。
发布于 2019-08-10 06:15:02
您缺少选项--trace-children=yes
--trace-children不是特定于memcheck的选项,它是一个常规valgrind选项,如果您希望子进程在执行后也在valgrind下运行,则必须与任何valgrind工具一起使用。
https://stackoverflow.com/questions/57424283
复制相似问题