Thanks very much, Glyn, Jeff, and Tom. That was very clearly explained.
A related case, see the following top dump. The Postgres process is using 87g residential memory, which I thought was the physical memory consumed by a process that can't be shared with others. While, the free+cached is about 155gb. But, (87 + 155) is bigger than the total available 198g RAM. Does this mean some of the residential memory used by Postgres is actually shareable to others?
>> Mem: 198311880k total, 183836408k used, 14475472k free, 8388k buffers >> Swap: 4194300k total, 314284k used, 3880016k free, 141105408k cached >> >> PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND >> 15338 postgres 20 0 97.9g 87g 87g S 0.3 46.4 21:47.44 >> postgres: checkpointer process >> 27473 postgres 20 0 98.1g 29g 29g S 0.0 15.8 2:14.93 >> postgres: xxxx idle >> 4710 postgres 20 0 98.1g 24g 23g S 0.0 12.7 1:17.41 >> postgres: xxxx idle
>> 26587 postgres 20 0 98.0g 15g 15g S 0.0 8.0 1:21.24