memory allocation: smap large "Size", but unused
Hello,
I'm just investigating why a user space program has a rather large VmSize, but small VmRSS size. Looking into /proc/$pid/smaps I notice several areas with an size of about 64MB, but otherwise that area is unused. So far I did not find a way how to reproduce that with malloc() calls.
7ffd34021000-7ffd38000000 ---p 00000000 00:00 0
Size: 65404 kB Rss: 0 kB Pss: 0 kB Shared_Clean: 0 kB Shared_Dirty: 0 kB Private_Clean: 0 kB Private_Dirty: 0 kB Referenced: 0 kB Anonymous: 0 kB AnonHugePages: 0 kB Swap: 0 kB KernelPageSize: 4 kB MMUPageSize: 4 kB
Any idea how to do such an allocation from user space?
Thanks,
Bernd
Quoted 8 lines · Bernd Schubert
I'm just investigating why a user space program has a rather large VmSize, but small VmRSS size. Looking into
/proc/$pid/smapsI notice several areas with an size of about 64MB, but otherwise that area is unused. So far I did not find a way how to reproduce that withmalloc()calls.7ffd34021000-7ffd38000000 ---p 00000000 00:00 0
Size: 65404 kB Rss: 0 kB
What happens if you do
sbrk(65404 << 10); sleep(1000);
and check /proc/pid/smaps? Ah, a memory range need not have any pages in memory.