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
...
IMO memory pages mapped in multiple (postmaster) processes are counted
multiple times. Bug or feature? Any hints?
Linux version 2.6.22.19 (64bit) vs2.2.0.6
util-vserver: 0.30.215
Best regards,
-- Lukasz Czarnowski mailto: relaks@o2.plReceived on Thu May 1 15:02:08 2008