Re: Background writer process
От | Kurt Roeckx |
---|---|
Тема | Re: Background writer process |
Дата | |
Msg-id | 20031113230240.GA1379@ping.be обсуждение исходный текст |
Ответ на | Re: Background writer process (Bruce Momjian <pgman@candle.pha.pa.us>) |
Ответы |
Re: Background writer process
Re: Background writer process |
Список | pgsql-hackers |
On Thu, Nov 13, 2003 at 05:39:32PM -0500, Bruce Momjian wrote: > Jan Wieck wrote: > > Bruce Momjian wrote: > > > He found that write() itself didn't encourage the kernel to write the > > > buffers to disk fast enough. I think the final solution will be to use > > > fsync or O_SYNC. > > > > write() alone doesn't encourage the kernel to do any physical IO at all. > > As long as you have enough OS buffers, it does happy write caching until > > you checkpoint and sync(), and then the system freezes. > > That's not completely true. Some kernels with trickle sync, meaning > they sync a little bit regularly rather than all at once so write() does > help get those shared buffers into the kernel for possible writing. > Also, it is possible the kernel will issue a sync() on its own. So basicly on some kernels you want them to flush their dirty buffers faster. I have a feeling we should more make it depend on the system how we ask them not to keep it in memory too long and that maybe the sync(), fsync() or O_SYNC could be a fallback in case it's needed and there are no better ways of doing it. Maybe something as posix_fadvise() might be useful too on systems that have it? Kurt
В списке pgsql-hackers по дате отправления: