4 ms·
ZFS uses lot of RAM only if you enable deduplication (and once you enable it, you cannot disable it). Without it, the RAM and CPU time requirements are very mod
by vetinari 9y ago
ZFS uses lot of RAM only if you enable deduplication (and once you enable it, you cannot disable it). Without it, the RAM and CPU time requirements are very modest.
- mrmondo 9y agoThat’s not at all correct, without deduplication enabled I have observed massive memory usage across BSD, Linux and ZFS on macOS.
- kinghajj 9y agoThat's probably the ARC, the in-memory caching structure, which gives up memory when applications need it. The weird thing on Linux (and maybe the others) is that the kernel marks the memory as "used" and not "cache", so tools like top/htop show high memory usage, even though ZFS will shrink its ARC when any actual applications require it.
- AndrewDavis 9y agoThat's the ARC. The ARC max size will default to (at least on FreeBSD) total ram -1GB[1]. Because the ARC is read cache it will shrink if the system needs more memory. Unused ram is wasted ram. [1]https://www.freebsd.org/doc/handbook/zfs-advanced.html https://www.freebsd.org/doc/handbook/zfs-advanced.html
- mrighele 9y agoMinor correction: you can disable it, but this doesn't change the status of the data already deduped. This is in fact true also when you enable it: current data is unaffected by the change, you need to move/copy it. The biggest issue is that there is no official tool to have a list of files that are currently deduped (I had to write a script that parse the output of zdb) so if you're not sure you have to move all the data out of the dataset.