Subject: Re: [vserver] RSS memory counter
From: Herbert Poetzl <herbert@13thfloor.at>
Date: Tue, 17 Jun 2008 18:44:54 +0200

On Thu, May 01, 2008 at 04:01:30PM +0200, Lukasz Czarnowski wrote:
> Hi all!
> 
> 	I have discovered small problem - IMHO RSS memory counter work incorrectly.
> If postgresql is running on a vserver:
> 
> # vattribute --xid 40003 --set --flag virt_mem
> 
> # vserver test exec free
>              total       used       free     shared    buffers     cached
> Mem:      12338224    2698668    9639556          0          0          0
> -/+ buffers/cache:    2698668    9639556
> Swap:      2064376          0    2064376
> 
> # vattribute --xid 40003 --set --flag ~virt_mem
> 
> # vserver test exec free
>              total       used       free     shared    buffers     cached
> Mem:      12338224   10658056    1680168          0      19576   10243328
> -/+ buffers/cache:     395152   11943072
> Swap:      2064376        584    2063792
> 
> # cat /proc/virtual/40003/limit | egrep '(RSS|SHM)'
> RSS:      635502               0/ 2323079             -1/      -1            0
> SHM:      135016               0/  135016             -1/      -1            0
> 
> top:
> 
> 27757 postgres  15   0  589m 495m 491m S    0  4.1   0:02.16 postmaster         
> 27762 postgres  15   0  586m 5404 4024 S    0  0.0   0:00.00 postmaster         
> 28258 postgres  18   0  586m  14m  13m S    0  0.1   1:11.82 postmaster         
> 28260 postgres  15   0 58008 1220  556 S    0  0.0   0:02.35 postmaster         
> 28262 postgres  15   0  586m 521m 520m S    0  4.3   0:49.67 postmaster         
> 28263 postgres  15   0 61076 1964  288 S    0  0.0  13:04.75 postmaster         
> 28264 postgres  15   0 60396 1320  396 S    0  0.0   8:07.99 postmaster         
> 28685 postgres  15   0  593m 493m 486m S    0  4.1   0:17.00 postmaster         
> 31444 postgres  15   0  588m 134m 131m S    0  1.1   0:01.35 postmaster         
> 31449 postgres  21   0  587m 441m 440m S    0  3.7   0:00.78 postmaster         
> ...

please elaborate what you are seeing ...

> IMO memory pages mapped in multiple (postmaster) processes are counted
> multiple times. Bug or feature? Any hints?

are they shared read only or mapped in a way that they
get copied on write?

best,
Herbert

> Linux version 2.6.22.19 (64bit) vs2.2.0.6
> util-vserver: 0.30.215
> 
> Best regards,
> -- 
> Lukasz Czarnowski
> mailto: relaks@o2.pl