Tom Lane wrote:
Mischa Sandberg <mischa@xxxxxxxxxxxxx> writes:
Tom Lane wrote:
Does Solaris have any call that allows locking a shmem segment in RAM?
Yes, mlock(). But want to understand what's going on before patching.
Sure, but testing it with mlock() might help you understand what's going
on, by eliminating one variable: we don't really know if the shmem is
getting swapped, or something else.
For a dedicated DB server machine, Solaris has a feature:
create "intimate" shared memory with shmat(..., SHM_SHARE_MMU).
All backends share the same TLB entries (!).
We use that already. (Hmm, might be interesting for you to turn it
*off* and see if anything changes. See src/backend/port/sysv_shmem.c.)
Gah. Always must remember to RTFSource.
And reproduce the problem on a machine I control :-)
--
Engineers think that equations approximate reality.
Physicists think that reality approximates the equations.
Mathematicians never make the connection.