Re: [GENERAL] Solaris 7 x86 error
От | ivan@seppuku.net |
---|---|
Тема | Re: [GENERAL] Solaris 7 x86 error |
Дата | |
Msg-id | Pine.BOS.4.10.9909281623050.73779-100000@mac-ivan.gb.marcomm.com обсуждение исходный текст |
Список | pgsql-general |
On Tue, 28 Sep 1999, myers wrote: > > Oops. Okay. Here's a lesson in getting too fancy. With the following > settings in /etc/system, Postgres does not work: > > set shmsys:shminfo_shmmax=50000000 > set shmsys:shminfo_shmmin=200 > set shmsys:shminfo_shmmni=200 > set shmsys:shminfo_shmseg=200 > set semsys:seminfo_semmap=250 > set semsys:seminfo_semmni=500 > set semsys:seminfo_semmns=500 > set semsys:seminfo_semmsl=500 > set semsys:seminfo_semmnu=500 > set semsys:seminfo_semume=100 > > > Pare this down to the minimum, and Postgres *does* work: > > set shmsys:shminfo_shmmax=50000000 > > > Why, I don't know, especially since those extra shared memory directives > appear to exceed Postgres' requirements. But for the record, keep > /etc/system simple. I think the problem is that you set shminfo_shmmin ( The minimum size for a shared segment ) to 200 bytes. But in the truss that you posted earlier, postmaster is trying to create a memory segment that is too small: shmget(5432010, 120, 0700|IPC_CREAT) Err#22 EINVAL The man page for shmget has this in the ERRORS section: EINVAL size is less than the system-imposed minimum or greater than the system-imposed maximum. EINVAL A shared memory identifier exists for key but the size of the segment associated with it is less than size and size is not equal to 0. I've had some pretty good results with shminfo_shmmax=16777216 ( Maximum size of any one shared memory segment is 16Meg ). This is on an Ultra 1 with 256Meg of RAM running Solaris 2.6. Just make sure to increase the number of buffers when you start the postmaster to match the maximum size of your shared memory segments. Ivan Richwalski.
В списке pgsql-general по дате отправления: