Postgresql – Postgres memory usage too low

linuxmemorypostgresql

I have a 400GB Postgres 9.3.4 DB running on Fedora20, and a few indices per table. I have upped shared buffers to 4GB (the system has 16GB available), set shm in the kernel and set the effective_cache_size to 12GB. work_mem is 60MB

Then i'm running hundreds of queries per second against the DB for prolonged period. My entire system (with OS) is only using 3GB of RAM and no swap.

Postgres isn't really using the RAM it could be using and I'd rather max out my RAM and gain query/index performance if possible.

Am I missing something config wise?

Best Answer

Postgres isn't really using the RAM it could be using

Actually, it probably is.

PostgreSQL relies on the Linux kernel to cache disk blocks. That's what effective_cache_size is about - it's telling PostgreSQL what kind of cache size it can expect the kernel to maintain.

Run:

free -m

You'll probably see almost all RAM in use as buffers/cache. Which is exactly what you want.