[Samba] high memory utilzation

Marcello Romani mromani at ottotecnica.com
Thu Nov 12 09:50:46 MST 2009


Ramesh ha scritto:
> Hi 
> I have a server running samba process and there
> are about 70 samba users connected at a time. The system has 4Gb of
> memory and it seems each samba process is utilizing only 3352Kb of
> memory.
>
>
>
> When I run the command
>
>
>
> pmap -d (pid of samba)
>
>
>
> It gives as:
>
>
>
> b7ffa000       4 rw-s- 0000000000000000 0fd:00003 messages.tdb
>
> bfe46000    1768 rw--- 00000000bfe46000 000:00000   [ stack ]
>
> ffffe000       4 r-x-- 0000000000000000 000:00000   [ anon ]
>
> mapped: 33384K    writeable/private: 3352K    shared: 20504K
>
>
>
>
>
>
>
> But when I run the top command, it results as below:
>
>
>
> Tasks: 163 total,   1 running, 162 sleeping,   0 stopped,   0 zombie
>
> Cpu(s):  0.9% us,  4.9% sy,  0.0% ni, 93.3% id,  0.8% wa,  0.2% hi,  0.0% si
>
> Mem:   3895444k total,  3163192k used,   732252k free,   352344k buffers
>
> Swap:  2097144k total,      208k used,  2096936k free,  2487636k cached
>
>   
Hi,
    here's a quick explanation of the "top" fields:

Mem total = the amount of physical RAM you have available.

Mem used = total amount of RAM  the system is using. What you want here 
is a number as close to Mem total as possible, unless you find it useful 
to fill your ram banks with costly unused chips... :-)

Mem free = this is of course total - used, so you want here a number as 
low as possible.

Buffers = amount of RAM used for various types of system buffers (e.g. 
network buffers). This amount varies with the workload. For example if 
you are copying a disk image over the network you'll have a large value 
here.

Cached = amount of RAM used for disk cache. This value varies with the 
current workload too. It is used to avoid reading directly from disk 
something you have already read once. Roughly speaking, if a client 
requests a 10M file, it's first read from disk but then it remains in 
memory so that if another client (or the same one) requests the same 
file, the system doesn't have to read it again from the (very slow) 
disk, but can serve it directly from (very fast) RAM. The disk cache is 
not allocated by the applications, it is instead managed directly by the 
kernel, so if an app needs more ram, the disk cache is sacrified.

Thus you can count buffers and disk cache as free memory (i.e. not 
allocated by apps).

HTH



More information about the samba mailing list