Received: from maia.hub.org (maia-3.hub.org [200.46.204.243]) by mail.postgresql.org (Postfix) with ESMTP id 843411337A5D for ; Mon, 4 Apr 2011 08:51:22 -0300 (ADT) Received: from mail.postgresql.org ([200.46.204.86]) by maia.hub.org (mx1.hub.org [200.46.204.243]) (amavisd-maia, port 10024) with ESMTP id 36069-07 for ; Mon, 4 Apr 2011 11:51:15 +0000 (UTC) X-Greylist: from auto-whitelisted by SQLgrey-1.7.6 Received: from smtp180.iad.emailsrvr.com (smtp180.iad.emailsrvr.com [207.97.245.180]) by mail.postgresql.org (Postfix) with ESMTP id DC566133616B for ; Mon, 4 Apr 2011 08:51:14 -0300 (ADT) Received: from localhost (localhost.localdomain [127.0.0.1]) by smtp48.relay.iad1a.emailsrvr.com (SMTP Server) with ESMTP id 66194168333; Mon, 4 Apr 2011 07:51:15 -0400 (EDT) X-Virus-Scanned: OK Received: by smtp48.relay.iad1a.emailsrvr.com (Authenticated sender: adarsh.sharma-AT-orkash.com) with ESMTPSA id 2CCFA168347; Mon, 4 Apr 2011 07:51:13 -0400 (EDT) Message-ID: <4D99B0B1.4020702@orkash.com> Date: Mon, 04 Apr 2011 17:21:13 +0530 From: Adarsh Sharma User-Agent: Thunderbird 2.0.0.22 (X11/20090625) MIME-Version: 1.0 To: Scott Marlowe CC: pgsql-performance@postgresql.org Subject: Re: Postgres Performance Tuning References: <4D999211.9080507@orkash.com> <4D99ACC0.5090009@orkash.com> In-Reply-To: Content-Type: multipart/alternative; boundary="------------010405080708000208030407" X-Virus-Scanned: Maia Mailguard 1.0.1 X-Spam-Status: No, hits=-1.899 tagged_above=-10 required=5 tests=BAYES_00=-1.9, HTML_MESSAGE=0.001 X-Spam-Level: X-Archive-Number: 201104/16 X-Sequence-Number: 43078 This is a multi-part message in MIME format. --------------010405080708000208030407 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Thanks Scott : My iostat package is not installed but have a look on below output: [root@s8-mysd-2 8.4SS]# vmstat 10 procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu------ r b swpd free buff cache si so bi bo in cs us sy id wa st 1 0 147664 93920 72332 15580748 0 1 113 170 47 177 6 1 92 1 0 0 0 147664 94020 72348 15580748 0 0 0 4 993 565 0 0 100 0 0 0 0 147664 93896 72364 15580748 0 0 0 5 993 571 0 0 100 0 0 0 0 147664 93524 72416 15580860 0 0 0 160 1015 591 0 0 100 0 0 0 0 147664 93524 72448 15580860 0 0 0 8 1019 553 0 0 100 0 0 0 0 147664 93648 72448 15580860 0 0 0 0 1019 555 0 0 100 0 0 0 0 147664 93648 72448 15580860 0 0 0 3 1023 560 0 0 100 0 0 [root@s8-mysd-2 8.4SS]# iostat -bash: iostat: command not found [root@s8-mysd-2 8.4SS]# Best regards, Adarsh Scott Marlowe wrote: > On Mon, Apr 4, 2011 at 5:34 AM, Adarsh Sharma wrote: > >> Mem: 16299476k total, 16198784k used, 100692k free, 73776k buffers >> Swap: 16787884k total, 148176k used, 16639708k free, 15585396k cached >> >> PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ >> COMMAND >> 3401 postgres 20 0 4288m 3.3g 3.3g S 0 21.1 0:24.73 >> postgres >> 3397 postgres 20 0 4286m 119m 119m S 0 0.8 0:00.36 >> postgres >> PLease help me to understand how much memory does 1 Connection Uses and how >> to use Server parameters accordingly. >> > > OK, first, see the 15585396k cached? That's how much memory your OS > is using to cache file systems etc. Basically that's memory not being > used by anything else right now, so the OS borrows it and uses it for > caching. > > Next, VIRT is how much memory your process would need to load every > lib it might need but may not be using now, plus all the shared memory > it might need, plus it's own space etc. It's not memory in use, it's > memory that might under the worst circumstances, be used by that one > process. RES is the amount of memory the process IS actually > touching, including shared memory that other processes may be sharing. > Finally, SHR is the amount of shared memory the process is touching. > so, taking your biggest process, it is linked to enough libraries and > shared memory and it's own private memory to add up to 4288Meg. It is > currently actually touching 3.3G. Of that 3.3G it is touching 3.3G is > shared with other processes. So, the difference between RES and SHR > is 0, so the delta, or extra memory it's using besides shared memory > is ZERO (or very close to it, probably dozens or fewer of megabytes). > > So, you're NOT running out of memory. Remember when I mentioned > iostat, vmstat, etc up above? Have you run any of those? > --------------010405080708000208030407 Content-Type: text/html; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit

Thanks Scott :

My iostat package is not installed but have a look on below output:

[root@s8-mysd-2 8.4SS]# vmstat 10
procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu------
 r  b   swpd   free   buff  cache   si   so    bi    bo   in    cs us sy id wa st
 1  0 147664  93920  72332 15580748    0    1   113   170   47   177  6  1 92  1  0
 0  0 147664  94020  72348 15580748    0    0     0     4  993   565  0  0 100  0  0
 0  0 147664  93896  72364 15580748    0    0     0     5  993   571  0  0 100  0  0
 0  0 147664  93524  72416 15580860    0    0     0   160 1015   591  0  0 100  0  0
 0  0 147664  93524  72448 15580860    0    0     0     8 1019   553  0  0 100  0  0
 0  0 147664  93648  72448 15580860    0    0     0     0 1019   555  0  0 100  0  0
 0  0 147664  93648  72448 15580860    0    0     0     3 1023   560  0  0 100  0  0

[root@s8-mysd-2 8.4SS]# iostat
-bash: iostat: command not found
[root@s8-mysd-2 8.4SS]#

Best regards,
Adarsh

Scott Marlowe wrote:
On Mon, Apr 4, 2011 at 5:34 AM, Adarsh Sharma <adarsh.sharma@orkash.com> wrote:
  
Mem:  16299476k total, 16198784k used,   100692k free,    73776k buffers
Swap: 16787884k total,   148176k used, 16639708k free, 15585396k cached

  PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+
COMMAND
 3401 postgres  20   0 4288m 3.3g 3.3g S    0 21.1   0:24.73
postgres
 3397 postgres  20   0 4286m 119m 119m S    0  0.8   0:00.36
postgres
PLease help me to understand how much memory does 1 Connection Uses and how
to use Server parameters accordingly.
    

OK, first, see the 15585396k cached?  That's how much memory your OS
is using to cache file systems etc.  Basically that's memory not being
used by anything else right now, so the OS borrows it and uses it for
caching.

Next, VIRT is how much memory your process would need to load every
lib it might need but may not be using now, plus all the shared memory
it might need, plus it's own space etc.  It's not memory in use, it's
memory that might under the worst circumstances, be used by that one
process.  RES is the amount of memory the process IS actually
touching, including shared memory that other processes may be sharing.
 Finally, SHR is the amount of shared memory the process is touching.
so, taking your biggest process, it is linked to enough libraries and
shared memory and it's own private memory to add up to 4288Meg.  It is
currently actually touching 3.3G.  Of that 3.3G it is touching 3.3G is
shared with other processes.  So, the difference between RES and SHR
is 0, so the delta, or extra memory it's using besides shared memory
is ZERO (or very close to it, probably dozens or fewer of megabytes).

So, you're NOT running out of memory.  Remember when I mentioned
iostat, vmstat, etc up above?  Have you run any of those?
  

--------------010405080708000208030407--