ZFS ARC under memory pressure

Slawa Olhovchenkov slw at zxy.spb.ru
Tue Aug 16 19:34:20 UTC 2016


I see issuses with ZFS ARC inder memory pressure.
ZFS ARC size can be dramaticaly reduced, up to arc_min.

As I see memory pressure event cause call arc_lowmem and set needfree:

arc.c:arc_lowmem

        needfree = btoc(arc_c >> arc_shrink_shift);

After this, arc_available_memory return negative vaules (PAGESIZE *
(-needfree)) until needfree is zero. Independent how too much memory
freed. needfree set to 0 in arc_reclaim_thread(), when arc_size <=
arc_c. Until arc_size don't drop below arc_c (arc_c deceased at every
loop interation).

arc_c droped to minimum value if arc_size fast enough droped.

No control current to initial memory allocation.

As result, I can see needless arc reclaim, from 10x to 100x times.

Can some one check me and comment this?


More information about the freebsd-fs mailing list