1

当我在 valgrind 下使用 massif 选项启动我的应用程序时,我看到 52.6 MiB 的峰值使用量。 在此处输入图像描述 但是 htop 说这个过程占用了 875MB 的 RES 内存。 在此处输入图像描述 在此处输入图像描述

相同的行为具有堆跟踪。有谁知道为什么分析器不报告 800+MB 去了哪里?

4

1 回答 1

1

Massif 默认只测量由malloc和朋友管理的堆。它不会尝试跟踪通过其他方式映射的页面(例如使用mmap)。

为了考虑所有页面,需要运行 massif with --pages-as-heap=yes

资料来源:Massif 手册

于 2021-01-07T12:54:57.653 回答