Postgresql – memory errors on startup in postgresql 9.6 log – MAP_HUGETLB failed

postgresqlpostgresql-9.6

On postgresql startup, I see this in the log files

2017-07-17 05:21:01.743 UTC > LOCATION: CreateAnonymousSegment, pg_shmem.c:484
2017-07-17 05:21:01.868 UTC > LOG: 00000: redirecting log output to logging collector process
2017-07-17 05:21:01.868 UTC > HINT: Future log output will appear in directory "pg_log".
2017-07-17 05:21:01.868 UTC > LOCATION: SysLogger_Start, syslogger.c:622
2017-07-21 05:46:01.680 UTC > DEBUG: 00000: logger shutting down
2017-07-21 05:46:01.680 UTC > LOCATION: SysLoggerMain, syslogger.c:490
2017-07-21 05:46:01.973 UTC > DEBUG: 00000: mmap(8264876032) with MAP_HUGETLB failed, huge pages disabled: Cannot allocate memory

I have never used huge pages – turning on huge_pages in postgres.conf does not help, I get different errors and the server will not start. I am unfamiliar with these settings.

Please help point me in the right direction to explore why these errors are occurring and what I should do about them – adjustments to memory settings, logging (it is set very high) vacuuming, or what?

What parts of the PostgreSQL manual are relevant?

Stack: postgresql 9.6 on aws ec2 generic linux

UPDATE: This post was originally written about things I noticed on installing a backup utility, and how that appeared to be causing errors, then I noticed a server without the utility is logging the same messages.

Best Answer

Own experience suggests that this is due to PostgreSQL running out-of-memory.

For instance, I ran into this error when attempting to bump max_connections up to a very high value (say, 2000) on a "small" server.