Date: Thu, 6 Mar 2008 09:29:12 GMT From: Dmitry Rybin <dimanenator@gmail.com> To: freebsd-gnats-submit@FreeBSD.org Subject: kern/121423: Cann't allocate more 2 Gb shared memory Message-ID: <200803060929.m269TC2T081165@www.freebsd.org> Resent-Message-ID: <200803060940.m269e0Pl070050@freefall.freebsd.org>
next in thread | raw e-mail | index | archive | help
>Number: 121423 >Category: kern >Synopsis: Cann't allocate more 2 Gb shared memory >Confidential: no >Severity: serious >Priority: medium >Responsible: freebsd-bugs >State: open >Quarter: >Keywords: >Date-Required: >Class: sw-bug >Submitter-Id: current-users >Arrival-Date: Thu Mar 06 09:40:00 UTC 2008 >Closed-Date: >Last-Modified: >Originator: Dmitry Rybin >Release: 7.0-RELEASE >Organization: Kirgudu Co >Environment: FreeBSD cayman.asd.net 7.0-RELEASE FreeBSD 7.0-RELEASE #0: Sun Feb 24 10:35:36 UTC 2008 root@driscoll.cse.buffalo.edu:/usr/obj/usr/src/sys/GENERIC amd6 >Description: Any programm which use SHARED MEMORY cann't allocate more 2 Gb of Shared memory. as example starting postgres with 2GB shmem: Mar 6 10:46:42 cayman postgres[1486]: [1-1] FATAL: could not create shared memory segment: Invalid argument Mar 6 10:46:42 cayman postgres[1486]: [1-2] DETAIL: Failed system call was shmget(key=5432001, size=2157543424, 03600). Mar 6 10:46:42 cayman postgres[1486]: [1-3] HINT: This error usually means that PostgreSQL's request for a shared memory segment exceeded your kernel's SHMMAX parameter. Mar 6 10:46:42 cayman postgres[1486]: [1-4] You can either reduce the request size or reconfigure the kernel with larger SHMMAX. To reduce the request size (currently Mar 6 10:46:42 cayman postgres[1486]: [1-5] 2157543424 bytes), reduce PostgreSQL's shared_buffers parameter (currently 256000) and/or its max_connections parameter Mar 6 10:46:42 cayman postgres[1486]: [1-6] (currently 83). Mar 6 10:46:42 cayman postgres[1486]: [1-7] If the request size is already small, it's possible that it is less than your kernel's SHMMIN parameter, in which case raising Mar 6 10:46:42 cayman postgres[1486]: [1-8] the request size or reconfiguring SHMMIN is called for. Mar 6 10:46:42 cayman postgres[1486]: [1-9] The PostgreSQL documentation contains more information about shared memory configuration. # sysctl -a|grep ipc.sem kern.ipc.semaem: 16384 kern.ipc.semvmx: 32767 kern.ipc.semusz: 104 kern.ipc.semume: 10 kern.ipc.semopm: 100 kern.ipc.semmsl: 60 kern.ipc.semmnu: 256 kern.ipc.semmns: 512 kern.ipc.semmni: 256 kern.ipc.semmap: 512 sysctl -a|grep shm kern.ipc.shm_allow_removed: 0 kern.ipc.shm_use_phys: 1 kern.ipc.shmall: 65536000 kern.ipc.shmseg: 128 kern.ipc.shmmni: 192 kern.ipc.shmmin: 1 kern.ipc.shmmax: 268435456010 Hardware: HP360R05 2 Quad Core Xeon, 8Gb mem, HP p800i raid >How-To-Repeat: 1. Install FreeBSD 7 2. Install Posgress 8.3 3 . postgresql.conf shared_buffers = 2200MB 4. edit sysctl # sysctl -a|grep ipc.sem kern.ipc.semaem: 16384 kern.ipc.semvmx: 32767 kern.ipc.semusz: 104 kern.ipc.semume: 10 kern.ipc.semopm: 100 kern.ipc.semmsl: 60 kern.ipc.semmnu: 256 kern.ipc.semmns: 512 kern.ipc.semmni: 256 kern.ipc.semmap: 512 sysctl -a|grep shm kern.ipc.shm_allow_removed: 0 kern.ipc.shm_use_phys: 1 kern.ipc.shmall: 65536000 kern.ipc.shmseg: 128 kern.ipc.shmmni: 192 kern.ipc.shmmin: 1 kern.ipc.shmmax: 268435456010 5. start postgress >Fix: >Release-Note: >Audit-Trail: >Unformatted:
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200803060929.m269TC2T081165>