I have a program. When it runs normally, my hard-coded peak memory checker reports 1G. When it runs with massif, my checker reports 2.2G...
My peak memory checker is not a smart checker, I only call it at hard-coded place to get the current memory foot-print. I was wondering if massif can cause more memory usage of a program.
Massif (like other valgrind tools) is using some memory to implement its own functionality. So, if your memory reporting is e.g. checking the total mmap-ed size or similar, that will include the massif (and valgrind core) overhead. If you use the malloc library reporting info (e.g. mallinfo or similar), then the numbers should be reasonably close to a native run.