On Mon, Dec 04, 2017 at 09:48:44AM +0100, Adrien Nayrat wrote: > On 12/01/2017 05:35 AM, Thomas Munro wrote: > >> since it also supports "transparent" hugepages. > > Hmm. Yeah, it does, but apparently it's not so transparent. > > +1. We saw performance drop with transparent_hugepage enabled on server with > more than 256GB RAM. Access to the cache where slow down when kernel try to > defragment pages. > consuming function with perf top. > > Thanks to Marc Cousin analysis, putting "madvise" to > /sys/kernel/mm/transparent_hugepage/enabled solved the problem. He also > notice > that THP only works for "anonymous memory mappings"[1] (shared_buffers are > not > anonymous).
Note PG since 9.3 can and prefers to use anonymous mmap for shared buffers instead of sysv shm. https://git.postgresql.org/gitweb/?p=postgresql.git;a=commit;h=b0fc0df9364d2d2d17c0162cf3b8b59f6cb09f67 ./src/backend/port/sysv_shmem.c and src/include/portability/mem.h:#define PG_MMAP_FLAGS (MAP_SHARED|MAP_ANONYMOUS|MAP_HASSEMAPHORE) Justin