I have two PostgreSQL databases named data-1 and data-2 that sit on the same 
machine. Both databases keep 40 GB of data, and the total memory available on 
the machine is 68GB.

I started data-1 and data-2, and ran several queries to go over all their data. 
Then, I shut down data-1 and kept issuing queries against data-2. For some 
reason, the OS still holds on to large parts of data-1's pages in its page 
cache, and reserves about 35 GB of RAM to data-2's files. As a result, my 
queries on data-2 keep hitting disk.

I'm checking page cache usage with fincore. When I run a table scan query 
against data-2, I see that data-2's pages get evicted and put back into the 
cache in a round-robin manner. Nothing happens to data-1's pages, although they 
haven't been touched for days.

Does anybody know why data-1's pages aren't evicted from the page cache? I'm 
open to all kind of suggestions you think it might relate to problem.

This is an EC2 m2.4xlarge instance on Amazon with 68 GB of RAM and no swap 
space. The kernel version is:

$ uname -r
3.2.28-45.62.amzn1.x86_64
Edit:

and it seems that I use one NUMA instance, if  you think that it can a problem.

$ numactl --hardware
available: 1 nodes (0)
node 0 cpus: 0 1 2 3 4 5 6 7
node 0 size: 70007 MB
node 0 free: 360 MB
node distances:
node   0
  0:  10
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to