Hi We have been doing some testing with Postgres (9.5.2) compiled on a Power8 running Centos 7
When working with huge_pages, we initially got this error. munmap(0x3efbe4000000) failed: Invalid argument after a bit of investigation we noticed that hugepagesize is har coded to 2MB src/backend/port/sysv_shmem.c (ligne 360) ... int hugepagesize = 2 * 1024 * 1024; But on the power they were configured to 16MB. Recompiling to 16MB (8 * 1024 * 1024) and we had no problems with the tests. My initial questions are. 1 what is the hugepagesize hard coded to 2MB? 2 are there any side effect in setting it to 16MB? 3 since on the poer hugepages can have different values, would it be possible to have this value configurable? Going further, we tried testing hugepages also on Ubuntu 16.04, also on the power8. On Ubuntu Postgres did not like the hugepages at all (set also to 16MB) and consistently crashed. Looking for some insight into this issue. the error from the postgres log on ubuntu is below. It apperas to be related to semephores. I don't have the compile optiona at the moment, I can provide those are other detais as needed. Reiner 2016-04-12 12:26:42 CEST : 0 FATAL: semctl(7864340, 14, SETVAL, 0) failed: Invalid argument 2016-04-12 12:26:42 CEST : 0 LOG: server process (PID 13352) exited with exit code 1 2016-04-12 12:26:42 CEST : 0 LOG: terminating any other active server processes 2016-04-12 12:26:42 CEST facturation:system_dba 0 10.32.32.200WARNING: terminating connection because of crash of another server process 2016-04-12 12:26:42 CEST facturation:system_dba 0 10.32.32.200DETAIL: The postmaster has commanded this server process to roll back the current transaction and exit, because another server process exited abnormally and possibly corrupted shared memory. 2016-04-12 12:26:42 CEST facturation:system_dba 0 10.32.32.200HINT: In a moment you should be able to reconnect to the database and repeat your command. 2016-04-12 12:26:42 CEST postgres:admin 0 10.32.16.3WARNING: terminating connection because of crash of another server process 2016-04-12 12:26:42 CEST postgres:admin 0 10.32.16.3DETAIL: The postmaster has commanded this server process to roll back the current transaction and exit, because another server process exited abnormally and possibly corrupted shared memory. 2016-04-12 12:26:42 CEST postgres:admin 0 10.32.16.3HINT: In a moment you should be able to reconnect to the database and repeat your command. 2016-04-12 12:26:42 CEST postgres:perf_user 0 ::1WARNING: terminating connection because of crash of another server process 2016-04-12 12:26:42 CEST postgres:perf_user 0 ::1DETAIL: The postmaster has commanded this server process to roll back the current transaction and exit, because another server process exited abnormally and possibly corrupted shared memory. 2016-04-12 12:26:42 CEST postgres:perf_user 0 ::1HINT: In a moment you should be able to reconnect to the database and repeat your command. 2016-04-12 12:26:42 CEST : 0 WARNING: terminating connection because of crash of another server process 2016-04-12 12:26:42 CEST : 0 DETAIL: The postmaster has commanded this server process to roll back the current transaction and exit, because another server process exited abnormally and possibly corrupted shared memory. 2016-04-12 12:26:42 CEST : 0 HINT: In a moment you should be able to reconnect to the database and repeat your command. 2016-04-12 12:26:42 CEST : 0 LOG: all server processes terminated; reinitializing 2016-04-12 12:26:42 CEST : 0 LOG: could not remove shared memory segment "/PostgreSQL.1612071802": No such file or directory 2016-04-12 12:26:42 CEST : 0 LOG: semctl(7274497, 0, IPC_RMID, ...) failed: Invalid argument 2016-04-12 12:26:42 CEST : 0 LOG: semctl(7307267, 0, IPC_RMID, ...) failed: Invalid argument 2016-04-12 12:26:42 CEST : 0 LOG: semctl(7340036, 0, IPC_RMID, ...) failed: Invalid argument 2016-04-12 12:26:42 CEST : 0 LOG: semctl(7372805, 0, IPC_RMID, ...) failed: Invalid argument 2016-04-12 12:26:42 CEST : 0 LOG: semctl(7405574, 0, IPC_RMID, ...) failed: Invalid argument 2016-04-12 12:26:42 CEST : 0 LOG: semctl(7438343, 0, IPC_RMID, ...) failed: Invalid argument 2016-04-12 12:26:42 CEST : 0 LOG: semctl(7471112, 0, IPC_RMID, ...) failed: Invalid argument 2016-04-12 12:26:42 CEST : 0 LOG: semctl(7503881, 0, IPC_RMID, ...) failed: Invalid argument 2016-04-12 12:26:42 CEST : 0 LOG: semctl(7536650, 0, IPC_RMID, ...) failed: Invalid argument 2016-04-12 12:26:42 CEST : 0 LOG: semctl(7569419, 0, IPC_RMID, ...) failed: Invalid argument 2016-04-12 12:26:42 CEST : 0 LOG: semctl(7602188, 0, IPC_RMID, ...) failed: Invalid argument 2016-04-12 12:26:42 CEST : 0 LOG: semctl(7634957, 0, IPC_RMID, ...) failed: Invalid argument 2016-04-12 12:26:42 CEST : 0 LOG: semctl(7667726, 0, IPC_RMID, ...) failed: Invalid argument 2016-04-12 12:26:42 CEST : 0 LOG: semctl(7700495, 0, IPC_RMID, ...) failed: Invalid argument 2016-04-12 12:26:42 CEST : 0 LOG: semctl(7733264, 0, IPC_RMID, ...) failed: Invalid argument 2016-04-12 12:26:42 CEST : 0 LOG: semctl(7766033, 0, IPC_RMID, ...) failed: Invalid argument 2016-04-12 12:26:42 CEST : 0 LOG: semctl(7798802, 0, IPC_RMID, ...) failed: Invalid argument 2016-04-12 12:26:42 CEST : 0 LOG: semctl(7831571, 0, IPC_RMID, ...) failed: Invalid argument 2016-04-12 12:26:42 CEST : 0 LOG: semctl(7864340, 0, IPC_RMID, ...) failed: Invalid argument 2016-04-12 12:26:42 CEST : 0 LOG: semctl(7897109, 0, IPC_RMID, ...) failed: Invalid argument 2016-04-12 12:26:43 CEST : 0 LOG: database system was interrupted; last known up at 2016-04-12 12:22:08 CEST 2016-04-12 12:26:43 CEST : 0 LOG: database system was not properly shut down; automatic recovery in progress 2016-04-12 12:26:43 CEST : 0 LOG: redo starts at 0/1FDD8F0 2016-04-12 12:26:43 CEST : 0 LOG: invalid record length at 0/20344B0 2016-04-12 12:26:43 CEST : 0 LOG: redo done at 0/2034488 2016-04-12 12:26:43 CEST : 0 LOG: last completed transaction was at log time 2016-04-12 12:26:01.704901+02 -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers