Hello,
i wonder if there is a way to have more fine grained control about ARC usage than limiting arc for the whole kernel module, and therefore all pools.
Let's say i have three pools, one for the root-filesystem, the other for data and one for backup. I want the root-pool to consume a fairly low amount of arc while the data-pool should be able to consume a lot and the backup-pool something between.
I'd like to do so because there will be heavy reads on the backup pool for integrity-checks, deduplication an others. Often, more or less the whole filesystem is read.
That for sure would cause the ARC to evict data from the datapool on a regular basis. So i fear after each check/large read on the backups the arc would be occupied with quite old data from them and not the 'hot' data i want to be there.
i.e.
rpool max 4Gb ARC
datapool max 32Gb ARC
backuppool max 8Gb ARC
Haven't found a way to do this yet, and also no references how zfs balances arc between pools when there are multiple present.
Most suitable thing i came over is limiting root and backup to metadata in primary cache only (or even none) by zfs set primarycache=metadata ..
Does anyone have a better idea / some references, or is it simply not possible ?
Will be running ZoL in recent version(s).
Alex
i wonder if there is a way to have more fine grained control about ARC usage than limiting arc for the whole kernel module, and therefore all pools.
Let's say i have three pools, one for the root-filesystem, the other for data and one for backup. I want the root-pool to consume a fairly low amount of arc while the data-pool should be able to consume a lot and the backup-pool something between.
I'd like to do so because there will be heavy reads on the backup pool for integrity-checks, deduplication an others. Often, more or less the whole filesystem is read.
That for sure would cause the ARC to evict data from the datapool on a regular basis. So i fear after each check/large read on the backups the arc would be occupied with quite old data from them and not the 'hot' data i want to be there.
i.e.
rpool max 4Gb ARC
datapool max 32Gb ARC
backuppool max 8Gb ARC
Haven't found a way to do this yet, and also no references how zfs balances arc between pools when there are multiple present.
Most suitable thing i came over is limiting root and backup to metadata in primary cache only (or even none) by zfs set primarycache=metadata ..
Does anyone have a better idea / some references, or is it simply not possible ?
Will be running ZoL in recent version(s).
Alex
Last edited: