Arnau Rebassa i Villalonga <arnau.rebassa@xxxxxxxxxx> writes: > I have a server with 4GB of RAM and I wanted to know how much memory > is being used by a PostgreSQL. To do so I have executed the following: > ps -A -o rss,vsz,command|grep postgres | awk '{rss += $1; vsz += $2 } > END { print "Real: ",rss/1024"MB Virtual: ",vsz/1024"MB" }' Depending on the details of your ps command, this is likely counting Postgres' shared memory area over again for each backend. It's definitely counting the executable-program image over again for each backend, even though on any modern system those pages will be shared. So it's no surprise that you get a number a lot larger than the actual RAM footprint. I don't know of any good portable way to get the number you want :-(. If your ps can distinguish shared and unshared pages, adding up all the unshared pages and counting one instance of the shared pages will be reasonably close. regards, tom lane