From: danfan46 on
Hi!

I'm on Linux RHEL 64-bit db2 version 9.5.0.1 using four partitions on
a single server.
The db2ckpwd 4*3 =12 processes each uses 959220 k of memory which
totals +10GB.
Also the four db2wdog processes each uses +1GB
Are these figures normal?
Can they be configured?
/dg

From: Darin McBride on
danfan46(a)hotmail.com wrote:

> Hi!
>
> I'm on Linux RHEL 64-bit db2 version 9.5.0.1 using four partitions on
> a single server.
> The db2ckpwd 4*3 =12 processes each uses 959220 k of memory which
> totals +10GB.
> Also the four db2wdog processes each uses +1GB
> Are these figures normal?

Where are you getting that information from? From what I can tell, each of
my db2ckpwd processes are actually using under 30MB. Perhaps you're
confusing VmSize and VmRSS? The VmSize is a virtual size - it just tells
you how many pages are available to the process. That doesn't mean there is
any real memory (either physical RAM or virtual through your swap
partition(s)) behind it. The VmRSS tells you how much actual memory is
allocated to the process (not swapped).

Stolen from
http://www.linuxforums.org/forum/linux-kernel/49438-proc-pid-status.html :

VmSize: The size of the virtual memory allocated to the process
VmLck: The amount of locked memory
VmRSS: The amount of memory mapped in RAM ( instead of swapped out )
VmData: The size of the Data segment
VmStk: The stack size
VmExe: The size of the executable segment
VmLib: The size of the library code
VmPTE: Size of the Page Table entry

I believe that shared memory gets counted in here. For example, the library
code is unlikely to be duplicated from process to process - if you already
have libdb2.so.1 loaded in one db2ckpwd process, it's unlikely to be copied
to the other two. Instead, each process gets read-access to the same pages
of memory, and thus it's only loaded once. Same goes for the data segment -
much of it is likely shared in copy-on-write fashion (and most of it is
unlikely to be written to). Some of it may be shared memory that is shared
with db2syscr (the root-based system controller), so it's allocated either
way anyway.

> Can they be configured?

You can try the disabling trick - but you should check your memory usage (I
use conky for this) before and after to see if you're really seeing a memory
savings. My bet is that you won't even notice.