Disabling ARC for a specific pool

Casvt

Dabbler
Joined
Aug 15, 2021
Messages
15
Hey there,

I have two pools: a mirror and a striped. On the mirror, I have normal data. On the stripe, I have movies and series for Plex. Currently, both pools use my ARC (my RAM is 32GB in total; 18GB used by ARC at the moment).

I would prefer that the stripe wouldn't use the ARC at all. It's movies and series so it doesn't need faster reads. I'd rather have it used for my mirror. And if it means that I have free RAM space over that isn't used, I'd rather assign it to my VM than to ARC for plex media.

Is it possible to disable ARC (RAM; not L2ARC SSD) for a pool (not a dataset)? Thanks!
 

Etorix

Wizard
Joined
Dec 30, 2020
Messages
2,134
Short answer: No.
And if by "stripe" you do mean a stripe of single disk vdevs, for maximal capacity, I hope you have a reliable backup.
 

Casvt

Dabbler
Joined
Aug 15, 2021
Messages
15
Okay thanks. What is this person refering to then? Wouldn't it be possible for me to set "primarycache" to none? In that comment, that person says that you can disable L2ARC by setting "secondarycache" to none, so why can't I set "primarycache" (ARC) to none?
 

HoneyBadger

actually does care
Administrator
Moderator
iXsystems
Joined
Feb 6, 2014
Messages
5,112
Short answer: No.

Long answer: Yes.

Okay thanks. What is this person refering to then? Wouldn't it be possible for me to set "primarycache" to none? In that comment, that person says that you can disable L2ARC by setting "secondarycache" to none, so why can't I set "primarycache" (ARC) to none?

This is the correct option, although you probably want to reduce to primarycache=metadata rather than "none" - metadata is very small in size (especially for large files) and you really don't want to push a random 4K read burden onto your disks for the sake of saving a few megabytes of RAM.

Consider also setting a very large recordsize (eg: 1M) for your video files, as this will increase efficiency there as well.
 

jgreco

Resident Grinch
Joined
May 29, 2011
Messages
18,680
ZFS requires the ability to cache metadata for a pool, and for the rest of it, the "A" in ARC stands for "Adaptive", which means that it learns what's important and makes pretty good guesses the rest of the time. I appreciate that you're not used to having a filesystem with such a degree of intelligence, but that's ZFS for you. Sticking your fingers in the blender where they don't belong is not likely to make it do a better job. If you are absolutely certain that you really do know better for every case, you can tell it to do primarycache=metadata, but it was probably already effectively doing that if your data was all sequential streaming, so you're really best off leaving it alone and letting ZFS do its thing.
 
Top