Skip to contentSkip to conversation

memory allocation: smap large "Size", but unused

DISCUSSION Bernd Schubert 2 participants 2 messages Nov 27, 2012

lore
Share & tools
lore
#0 lore raw

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

#1 lore raw
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/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

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.