ZFS memory management

Andriy Gapon avg at FreeBSD.org
Thu Nov 29 21:31:32 UTC 2012

on 29/11/2012 19:16 Nikolay Denev said the following:
> On Nov 29, 2012, at 4:53 PM, Olivier Smedts <olivier at gid0.org> wrote:
>> 2012/11/27 Freddie Cash <fjwcash at gmail.com>:
>>> Read any ZFS tuning manual on the web, including the ones direct from
>>> SUN/Oracle, and they all list:
>>>  - if you are running processes that need a lot of memory, then limit the
>>> ARC to allow the apps to have access to that memory
>> Or you could have at least a little swap (good practice) to allow ARC
>> take the time to evict some memory when under pressure.
> Yes, this was already suggested off-list, and it seems like a solution.
> Thanks to all for the input!

I think that various VM thresholds are not very well auto-tuned for a swap-less
So, perhaps, something to _experiment_ with...  I could make sense to increase
(e.g. double or triple) vm.v_cache_min, so that the pager is waken up earlier.
At the same time vm.v_free_target could be decreased so that difference between
it and vm.v_free_reserved is smaller (but greater than zero).

My understanding is that OOM handling is activated when the pager can not get
number of available (free + cached) pages above v_cache_min + v_free_target
after two passes.

Andriy Gapon

More information about the freebsd-stable mailing list