Valgrind massif 工具报告相同的快照
Valgrind massif tool reporting same snapshots
我需要 运行 在需要很长时间才能完成的并行代码中使用 massif 工具进行 valgrind。
我想定期拍快照。
我执行以下操作:
valgrind --tool=massif --massif-out-file=outFile.txt --vgdb=yes ./app
并且在另一个终端中,我 运行 一个包含以下内容的循环:
vgdb all_snapshot snapshots.txt
然而,“snapshots.txt”的内容始终相同。我尝试了不同的 valgrind 选项,例如 --time-unit=ms 和 --time-unit=i。
而且,如果我在执行时刻 X 和时刻 X+Y 获得所有快照,则生成的两个文件是相同的。
我做错了什么?
massif 具有在内存中存储一组快照的逻辑。快照的数量和拍摄时间由各种选项控制,例如 --peak-inaccuracy、--max-snapshots、...
根据您的应用程序在两个时刻之间的行为,可能会或可能不会记录新的快照。
监控命令'all_snapshots'只是保存当前内存中的快照。
如果要强制输出新快照,请使用监控命令'snapshot'或'detailed_snapshot'。
我需要 运行 在需要很长时间才能完成的并行代码中使用 massif 工具进行 valgrind。 我想定期拍快照。
我执行以下操作:
valgrind --tool=massif --massif-out-file=outFile.txt --vgdb=yes ./app
并且在另一个终端中,我 运行 一个包含以下内容的循环:
vgdb all_snapshot snapshots.txt
然而,“snapshots.txt”的内容始终相同。我尝试了不同的 valgrind 选项,例如 --time-unit=ms 和 --time-unit=i。 而且,如果我在执行时刻 X 和时刻 X+Y 获得所有快照,则生成的两个文件是相同的。
我做错了什么?
massif 具有在内存中存储一组快照的逻辑。快照的数量和拍摄时间由各种选项控制,例如 --peak-inaccuracy、--max-snapshots、...
根据您的应用程序在两个时刻之间的行为,可能会或可能不会记录新的快照。
监控命令'all_snapshots'只是保存当前内存中的快照。
如果要强制输出新快照,请使用监控命令'snapshot'或'detailed_snapshot'。