Re: Shared Memory: How to use SYSV rather than MMAP ?
Thomas Munro <thomas.munro@enterprisedb.com>
From: Thomas Munro <thomas.munro@enterprisedb.com>
To: tony.reix@atos.net
Cc: Pg Hackers <pgsql-hackers@postgresql.org>, sylvie.empereur-mot@atos.net
Date: 2018-11-20T11:20:59Z
Lists: pgsql-hackers
On Tue, Nov 20, 2018 at 11:11 PM REIX, Tony <tony.reix@atos.net> wrote: > On AIX, since with MMAP we have only 4K pages though we can have 64K pages with SYSV, we'd like to experiment with SYSV rather than MMAP and measure the impact to the performance. > > Looking at file: src/include/storage/dsm_impl.h , it seemed to me that replacing the line: > > #define DEFAULT_DYNAMIC_SHARED_MEMORY_TYPE DSM_IMPL_POSIX > by the line: > #define DEFAULT_DYNAMIC_SHARED_MEMORY_TYPE DSM_IMPL_SYSV Hi Tony, SHOW dynamic_shared_memory_type to see which one it's actually using, and set it in postgresql.conf to change it. > However, when looking at details by means of procmap tool, it is unclear if that worked or not. These segments are short-lived ones used for parallel query. I haven't used AIX recently but I suspect procmap -X will show them as different types and show the page size, but you'd have to check that while it's actually running a parallel query. For example, a large parallel hash join that runs for a while would do it, and in theory you might be able to see a small performance improvement for larger page sizes due to better TLB cache hit ratios. -- Thomas Munro http://www.enterprisedb.com
Commits
-
Add shared_memory_type GUC.
- f1bebef60ec8 12.0 landed
-
Dramatically reduce System V shared memory consumption.
- b0fc0df9364d 9.3.0 cited