Guide · ZFS sizing · documentation read 2 November 2026
How much RAM does ZFS need for a 100 TB pool?
Where the "1 GB per TB" rule comes from and what OpenZFS, Proxmox and FreeBSD really write. Then, the memory a 100 TB backup pool uses in practice.
Last updated: · 8 min read
Quick answer
How much RAM does ZFS need for a 100 TB pool?
ZFS does not need 1 GB of RAM per TB. The OpenZFS FAQ, read 2 November 2026, asks for 8 GB or more and says 2 GB or less works. Proxmox's cache rule, 2 GiB plus 1 GiB per TiB, gives 75 GiB for 100 TB in RAIDZ2. Basalthold Hold 100 has 128 GB DDR4 ECC, crypto, no KYC.
What do the rules give for 100 TB of drives?
One pool of ten 10 TB drives in RAIDZ2: 100 TB raw, 80 TB usable, about 72.8 TiB.
Source
Rule as written
Result for this pool
OpenZFS FAQ
8 GB or more for the best performance; 2 GB or less is possible; more with deduplication
8 GB
Proxmox VE admin guide
At least 2 GiB base + 1 GiB per TiB of storage, for the ARC cache
About 75 GiB
FreeBSD Handbook
5 to 6 GB of RAM per 1 TB of deduplicated data
400 to 480 GB if all 80 TB were deduplicated
OpenZFS default ARC limit, version 2.3 and later
The larger of all memory minus 1 GiB and 5/8 of memory
Up to 127 GiB on a 128 GiB machine
Proxmox VE default since 8.1
10% of memory, at most 16 GiB
12.8 GiB on a 128 GiB machine
"1 GB per TB" forum rule
Not in the OpenZFS documentation
100 GB
Units as each source writes them. Documentation read on 2 November 2026.
Where does the "1 GB per TB" rule come from?
Not from OpenZFS. Its FAQ asks for 8 GB or more for the best performance and adds that people run it with 2 GB or less. Its hardware guide gives no memory sizing at all.
Two real rules get mixed into one. The first is a cache target: Proxmox advises at least 2 GiB plus 1 GiB per TiB of storage for the ARC, ZFS's read cache. The second is for deduplication, and it is much larger. The FreeBSD Handbook gives 5 to 6 GB of RAM per TB of deduplicated data.
The 1 GB per TB rule is a cache wish, not a requirement: ZFS runs on far less and caches whatever you give it.
Proxmox itself sets a smaller default. Since Proxmox VE 8.1, the installer limits the ARC to 10% of memory, at most 16 GiB.
What does ZFS use the memory for?
Mostly for the ARC, a cache of recently and frequently read blocks and metadata. More cache means fewer slow trips to the hard drives.
The ARC sizes itself. On Linux, OpenZFS 2.3 and later let it grow to the larger of all memory minus 1 GiB and 5/8 of memory. OpenZFS 2.2 stopped at half of memory on Linux. The floor is the larger of 32 MiB and 1/32 of memory, and ZFS aims to leave 1/64 of memory free.
Two other uses have caps. Scrubs and resilvers sort their reads in memory, up to 1/20 of RAM by default. How long a resilver takes is on the RAID rebuild time page. Deduplication keeps its table in memory, which is where the large numbers come from.
Versions matter on rented systems. On 2 November 2026, Debian 13 shipped zfsutils-linux 2.3.9 and Ubuntu 24.04 shipped 2.2.2.
How much memory does a 100 TB backup pool really use?
Less cache than a file server, because backups are written once and read rarely. The cache helps most with metadata: listing snapshots, pruning old backups and checking indexes.
The Proxmox rule is a sound ceiling for planning. Applied to common layouts, it gives these ARC targets:
2 × 12 TB in a mirror, 12 TB usable: about 13 GiB.
4 × 10 TB in RAIDZ2, 20 TB usable: about 20 GiB.
10 × 10 TB in RAIDZ2, 80 TB usable: about 75 GiB.
10 × 16 TB in RAIDZ2, 128 TB usable: about 118 GiB.
Compare with the holds: Hold 24 32 GB DDR4 ECC, Hold 40 64 GB DDR4, Hold 100 128 GB DDR4 ECC, Hold 160 128 GB DDR4 ECC. Below the target, ZFS still runs; it simply reads metadata from disk more often.
Of 23 storage-server sellers Basalthold checked on 2 November 2026, 8 listed a server of 100 TB or more, and 1 rented one to crypto buyers without ID. The whole offer is on the 100 TB storage server page.
Should I turn on ZFS deduplication for backups?
Not on 100 TB. At 5 to 6 GB per TB of deduplicated data, 80 TB would call for 400 to 480 GB of memory. That is more than any hold carries.
Let the backup tool deduplicate instead. restic, Borg and Proxmox Backup Server split data into chunks and store each chunk once, in their own index. The differences are on restic or Borg. Keep ZFS compression on; it costs little memory.
ECC memory matters more than size. OpenZFS calls it highly recommended, because no filesystem can protect against bit flips in RAM. Why ZFS also wants plain drives is on ZFS or hardware RAID.
How do I check or cap the ARC?
Read the live size first, then set a limit only if other services need the memory. The Proxmox guide uses the same zfs_arc_max parameter.
Check the ARC, then cap it at 64 GiB
# current ARC size and its limits, in bytes
grep -E '^(size|c_min|c_max) ' /proc/spl/kstat/zfs/arcstats
arc_summary | head -40
# cap the ARC at 64 GiB until the next reboot
echo $((64 * 1024 * 1024 * 1024)) > /sys/module/zfs/parameters/zfs_arc_max
# keep the cap after reboots
echo "options zfs zfs_arc_max=68719476736" > /etc/modprobe.d/zfs.conf
# only if the root filesystem itself is on ZFS:
update-initramfs -u -k all
Which hold has the memory for your pool?
Memory and drives are fixed per hold. Terms of 3, 6 and 12 months are on the price list.
In every plan: Blank data drives · Encryption keys stay yours · Dedicated IPv4 · No logs · No KYC · No setup fee
What else do people ask about ZFS memory?
Does ZFS need 1 GB of RAM per TB?
No. The OpenZFS FAQ asks for 8 GB or more for the best performance. The per-TB rules come from elsewhere. Proxmox sets a cache target of 2 GiB plus 1 GiB per TiB; FreeBSD gives 5 to 6 GB per TB of deduplicated data.
Is 32 GB of RAM enough for ZFS?
Yes, for a pool of a few dozen TB. It is four times the OpenZFS recommendation, and above the Proxmox target for a 12 TB mirror. Hold 24 comes with 32 GB DDR4 ECC.
Does ZFS need ECC memory?
The OpenZFS FAQ says ECC is not really a requirement but highly recommended. Hold 100 has 128 GB DDR4 ECC and Hold 160 128 GB DDR4 ECC.
Will ZFS take all my memory?
The ARC grows into free memory and gives it back under pressure, aiming to keep 1/64 of RAM free. Set zfs_arc_max if a database or virtual machines need a fixed share.
Can I rent a ZFS storage server with crypto and no KYC?
Yes. Basalthold takes BTC, USDT, USDC, ETH, SOL, LTC, from a top-up of $25. No KYC: no ID, no selfie, no documents, no card and no phone number, at any point. The operating system sits on its own SSD (two mirrored SSDs on the larger holds); the data drives arrive blank and unpartitioned, so you can build ZFS, an mdadm array or a set of independent disks. If you want the team to prepare a RAID 6 or RAID 10 array before delivery, say so to support before the server is handed over.
Room for the cache of a 100 TB pool
Hold 100: Intel Xeon Silver 4210R (10 cores / 20 threads), 128 GB DDR4 ECC, 10 × 10 TB hard drives (100 TB raw) plus 2 × 480 GB SSD for the system, mirrored, 1 Gbit/s port with 120 TB of traffic per 30 days, 1 IPv4 and an IPv6 /64, for $377.05/30 days. Crypto, no KYC.