我在Linux上使用chrome和debug build来进行实验。
我运行带有调试版本的chrome浏览器来运行一些网页,这是一种加载大量图像的方式。
要验证,我使用“cat /proc/render-pid/statm
”检查内存。
为了理解分配模式,我运行了“valgrind --tool=massif --vgdb=yes --vgdb-error=0
”。
我看到RSS(statm中的第二个值)从最初的133129页(加载图像之前)增加到176562页(加载图像之后)。 valgrind快照显示分配的内存。 (超过140MB)。如果你从statm计算它大约165M(不包括共享内存)
接下来,我释放了每个图像(清除了内部缓存)。 现在,Valgrind快照仅显示4MB内存。 statm RSS值减少到161916页。
(我同意Valgrind可能会记忆。但是如果单独跑步,我会有类似的行为。)
我无法得到的是:
那么如何找到内存的分配位置?
注:
statm输出的值: