mirror of
https://git.proxmox.com/git/mirror_zfs.git
synced 2026-05-22 10:37:35 +03:00
Introduce limit on size of L2ARC headers
Since L2ARC buffers are not evicted on memory pressure, too large amount of headers on system with irrationally large L2ARC can render it slow or even unusable. This change limits L2ARC writes and rebuild if unevictable L2ARC-only headers reach dangerous level. While there, call arc_adapt() on L2ARC rebuild, so that it could properly grow arc_c, reflecting potentially significant ARC size increase and avoiding slow growth with hopeless eviction attempts later when "overflow" is detected. Reviewed-by: Ryan Moeller <ryan@iXsystems.com> Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov> Reported-by: Richard Elling <Richard.Elling@RichardElling.com> Signed-off-by: Alexander Motin <mav@FreeBSD.org> Closes #10765
This commit is contained in:
committed by
Brian Behlendorf
parent
47a3f3fc01
commit
3ca31bd0c6
@@ -198,6 +198,20 @@ feature.
|
||||
Default value: \fB200\fR%.
|
||||
.RE
|
||||
|
||||
.sp
|
||||
.ne 2
|
||||
.na
|
||||
\fBl2arc_meta_percent\fR (int)
|
||||
.ad
|
||||
.RS 12n
|
||||
Percent of ARC size allowed for L2ARC-only headers.
|
||||
Since L2ARC buffers are not evicted on memory pressure, too large amount of
|
||||
headers on system with irrationaly large L2ARC can render it slow or unusable.
|
||||
This parameter limits L2ARC writes and rebuild to achieve it.
|
||||
.sp
|
||||
Default value: \fB33\fR%.
|
||||
.RE
|
||||
|
||||
.sp
|
||||
.ne 2
|
||||
.na
|
||||
|
||||
Reference in New Issue
Block a user