Re: Memory reporting on CentOS Linux

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 08/15/2009 11:39 AM, Jeremy Carroll wrote:
Linux strives to always use 100% of memory at any given time. Therefore the system will always throw free memory into swap cache. The kernel will (and can) take any memory away from the swap cache at any time for resident (physical) memory for processes.

That's why they have the column "-/+ buffers/cache:". That shows 46Gb Free RAM.

I cannot be the only person that has asked this question.

I vote for screwed up reporting over some PostgreSQL-specific explanation. My understanding of RSS is the same as you suggested earlier - if 50% RAM is listed as resident, then there should not be 90%+ RAM free. I cannot think of anything PostgreSQL might be doing into influencing this to be false.

Do you get the same results after reboot? :-) I'm serious. Memory can be corrupted, and Linux can have bugs.

I would not think that cache memory shows up as RSS for a particular process. Cache memory is shared by the entire system, and is not allocated towards any specific process. Or, at least, this is my understanding.

Just for kicks, I tried an mmap() scenario (I do not think PostgreSQL uses mmap()), and it showed a large RSS, but it did NOT show free memory.

Cheers,
mark


-----Original Message-----
From: Tom Lane [mailto:tgl@xxxxxxxxxxxxx]
Sent: Saturday, August 15, 2009 10:25 AM
To: Jeremy Carroll
Cc: Scott Carey; pgsql-performance@xxxxxxxxxxxxxx
Subject: Re:  Memory reporting on CentOS Linux

Jeremy Carroll<jeremy.carroll@xxxxxxxxxxxxxxxxxxxxx>  writes:
I am thoroughly confused that TOP is reporting that I have 99% of my
physical RAM free, while the process list suggests that some are
taking ~8Gb of Resident (Physical) Memory. Any explanation as to why
TOP is reporting this? I have a PostgreSQL 8.3 server with 48Gb of RAM
on a Dell R610 server that is reporting that 46.5GB of RAM is free.
Exactly where do you draw that conclusion from?  I see "free 138M".

It does look like there's something funny about top's accounting for
shared memory --- maybe it's counting it as "cached"?  It's hardly
unusual for top to give bogus numbers in the presence of shared memory,
of course, but this seems odd :-(.  With such large amounts of RAM
involved I wonder if there could be an overflow problem.  You might file
a bug against top in whatever distro you are using.

			regards, tom lane



--
Mark Mielke<mark@xxxxxxxxx>


--
Sent via pgsql-performance mailing list (pgsql-performance@xxxxxxxxxxxxxx)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-performance

[Postgresql General]     [Postgresql PHP]     [PHP Users]     [PHP Home]     [PHP on Windows]     [Kernel Newbies]     [PHP Classes]     [PHP Books]     [PHP Databases]     [Yosemite]

  Powered by Linux