On Thu, Apr 3, 2014 at 09:01:08PM +0300, Heikki Linnakangas wrote:
> >Is there something I can set in the PGSQL parameters or in the file
> >system parameters to force a steady flow of writes to disk rather
> >than waiting for a sync system call? Mounting with "commit=1" did not
> >make a difference.
>
> Try setting the vm.dirty_bytes sysctl. Something like 256MB might be a
> good starting point.
>
> This comes up fairly often, see e.g.:
> http://www.postgresql.org/message-id/flat/27C32FD4-0142-44FE-8488-9F36
> 6DC75966@mr-paradox.net
Uh, should he set vm.dirty_bytes or vm.dirty_background_bytes? It is my
understanding that vm.dirty_background_bytes starts the I/O while still
accepting writes, while vm.dirty_bytes stops accepting writes during the
I/O, which isn't optimal. See:
https://www.kernel.org/doc/Documentation/sysctl/vm.txt
dirty_bytes
Contains the amount of dirty memory at which a process generating disk
writes will itself start writeback.
dirty_background_bytes
Contains the amount of dirty memory at which the background kernel
flusher threads will start writeback.
I think we want the flusher to be active, not necessarly the writing
process.
--
Bruce Momjian <bruce@momjian.us> http://momjian.us
EnterpriseDB http://enterprisedb.com
+ Everyone has their own god. +