meta data for this page
  •  

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

linux:fs:zfs:tuning:l2arc [2025/02/07 20:24] – created niziaklinux:fs:zfs:tuning:l2arc [2026/11/12 08:19] (current) – niziak
Line 1: Line 1:
 +====== l2arc ======
 +
 [[https://www.truenas.com/community/threads/zfs-arc-is-getting-smarter-with-version-2-2-smiley_face_emoji.109446/|ZFS "ARC" is getting smarter with version 2.2+]] [[https://www.truenas.com/community/threads/zfs-arc-is-getting-smarter-with-version-2-2-smiley_face_emoji.109446/|ZFS "ARC" is getting smarter with version 2.2+]]
 +
 +===== l2arc_noprefetch =====
 +
 +Prefetch means ZFS reading blocks ahead of use.
 + 
 +What the parameter does. The OpenZFS man page only documents the write side [[https://openzfs.github.io/openzfs-docs/man/master/4/zfs.4.html|zfs.4]]: 
 +> do not write buffers to L2ARC if they were prefetched but not used by applications
 +
 +A developer in the code review of [[https://github.com/openzfs/zfs/pull/10710|PR #10710]] argues it also controls whether
 +prefetch reads are issued to the L2ARC device. with 1, a prefetch read of a block that is in L2ARC would go to the slow HDD instead of NVMe.
 +
 +**Pros of 0**
 +  * Prefetch reads for metadata in L2ARC can come from NVMe instead of the HDD. 
 +  * For Proxmox Backup Server: L2ARC fills with blocks the GC sweep and verify touch, even when they come in through prefetch.
 + 
 +**Cons of 0**
 +  * Prefetched blocks nobody uses get written to L2ARC: wasted writes and wasted space.
 +  * More read load on the cache device.