SYSV shared memory vs mmap performance

Francois Tigeot ftigeot at
Wed Sep 12 23:30:03 PDT 2012


Given the recent decision to switch from SYSV shared memory to mmap and
the concerns which were made with regard to performance on *BSD kernels,
I've run a few Pgbench tests on a spare Xeon box.

I tested PostgreSQL-9.3 from June 28th, as of commits:
- c5b3451a8e72cb7825933d4f4827f467cb38b498 (mmap)
- 5d594b73d988b1ac78c49d8a84deae6bae876d01 (sysv shared memory)

I also used both Scientific Linux-6.2 and DragonFly BSD-3.1; the results
are in the attached PDF document.

To cut a long story short, Linux doesn't show any difference and DragonFly
sees some heavy degradation under load. After a while, it starts swapping
and performance goes to hell.

The only *BSD system tested was DragonFly but I know from previous pgbench
tests FreeBSD and NetBSD follow a similar performance curve

The famous kern.ipc.shm_use_phys sysctl was set to 1, which is the default

Francois Tigeot
-------------- next part --------------
A non-text attachment was scrubbed...
Name: Pg-benchmarks.2012-09.Sysv_shm.vs.mmap.pdf
Type: application/pdf
Size: 67584 bytes
Desc: not available
URL: <>

More information about the Kernel mailing list