Re: performance tuning: shared_buffers, sort_mem; swap
От | David Gilbert |
---|---|
Тема | Re: performance tuning: shared_buffers, sort_mem; swap |
Дата | |
Msg-id | 15706.20957.753062.582158@canoe.velocet.net обсуждение исходный текст |
Ответ на | Re: performance tuning: shared_buffers, sort_mem; swap (Tom Lane <tgl@sss.pgh.pa.us>) |
Ответы |
Re: performance tuning: shared_buffers, sort_mem; swap
|
Список | pgsql-admin |
>>>>> "Tom" == Tom Lane <tgl@sss.pgh.pa.us> writes: Tom> David Gilbert <dgilbert@velocet.ca> writes: >> I don't often ask a question, but it's been bugging me for some >> time: is there any reason why PostgreSQL must use SysV shared >> memory? Coming from the BSD camp, I've often pondered why it >> doesn't use BSD-style shared memory (which is often easier to >> allocate in the BSD world). Tom> Well, I must say this is the first time I've heard of "BSD-style Tom> shared memory". What are the syscalls? How portable is it? Tom> Does it have the semantics we need (specifically, the ability to Tom> associate an ID with a shmem segment, and the ability to discover Tom> whether any other processes are attached to an existing shmem Tom> segment)? The canonical example is to mmap() a file multiply. BSD will guarentee this is shared memory. Of course, to address the concern that you really don't need a file, the MAP_ANON flag can be given (meaning that there is no file). With anonymous memory, you pass the file descriptor through your fork()'s. With non-anonymous memory, you can mmap() it multiply from different processes and get the same effect. With a glance at the man page, you'd have MAP_SHARED | MAP_ANON | MAP_NOSYNC | MAP_HASSEMAPHORE. One bonus of bsd shared memory (when anonymous) is that it dies with the process ... even in the worst case. Dave. -- ============================================================================ |David Gilbert, Velocet Communications. | Two things can only be | |Mail: dgilbert@velocet.net | equal if and only if they | |http://daveg.ca | are precisely opposite. | =========================================================GLO================
В списке pgsql-admin по дате отправления: