TrueNASGuide
Isometric illustration of a compact server enclosure flanked by memory modules, representing RAM sizing for a storage system
hardware

TrueNAS RAM Requirements by Workload

TrueNAS RAM sizing for file sharing, apps, VMs, iSCSI, directory services, L2ARC, and deduplication, based on official workload guidance.

By TrueNASGuide Editorial · ·Updated August 29, 2026 · 6 min read

This guide covers a single TrueNAS specification: RAM capacity by workload. The official floor is 8 GB for basic file sharing on a system with up to eight drives, according to the SCALE Hardware Guide. Apps, virtual machines, iSCSI, directory services, L2ARC, and deduplication add separate memory demands. CPU, HBA, drive, boot device, networking, power supply, and cooling choices are covered in the TrueNAS hardware buying guide.

The official baseline, and why it’s higher than other NAS platforms

TrueNAS uses more RAM at idle than a Synology or QNAP box running a similar drive count, and that’s by design rather than bloat. The SCALE Hardware Guide explains that TrueNAS shares memory across sharing services, apps, virtual machines, and, most notably, ZFS’s read cache. RAM “rarely goes unused on a TrueNAS system,” and that’s a feature: unused RAM is a cache miss you didn’t have to take.

The baseline numbers from the official hardware guide:

  • 8 GB minimum for basic operation with up to eight drives.
  • +1 GB for each drive beyond eight.
  • +2 GB if you’re joining Active Directory or LDAP, to cover the Winbind internal cache.
  • 16 GB minimum, 32 GB or more for good performance if you’re using iSCSI to back virtual machines.
  • +5 GB per TB of storage if you’re turning on ZFS deduplication, because the dedup table lives in RAM.
  • ~1 GB per 50 GB of L2ARC, if you’ve added an L2ARC cache device to a pool.

Read that dedup line again if you’re planning to enable it: 5 GB per TB is not a typo, and it’s the single biggest RAM multiplier on this whole list. A 20 TB pool with dedup on wants on the order of 100 GB of RAM just for the dedup table, separate from ARC. Most home users should leave dedup off and rely on compression instead, which costs CPU cycles, not gigabytes of RAM.

Where the “1 GB per TB” rule actually comes from

If you’ve spent any time in NAS forums, you’ve seen the rule “1 GB of RAM per TB of storage.” It is repeated constantly, but for most users it answers a different question from the one they are asking.

That ratio traces back to early ZFS-on-Solaris guidance for systems running deduplication, where the in-memory dedup table really did scale at roughly that rate per TB of deduplicated data. Somewhere along the way, the caveat about dedup got dropped and the number got generalized into a blanket rule for all ZFS systems, dedup or not. Without dedup enabled, pool capacity has almost nothing to do with how much RAM you need: a 4-drive 40 TB media pool serving Plex to two people doesn’t need meaningfully more RAM than a 4-drive 8 TB pool doing the same job. What actually drives your RAM requirement is your working set: how much data you touch repeatedly, and how many services are competing for cache space at the same time.

If you want a rule of thumb that isn’t cargo-culted, size RAM for the workload (file sharing, apps, VMs, dedup) using the categories in this guide, not for raw pool capacity.

Where your RAM actually goes: the ARC

Whatever RAM isn’t claimed by services, ZFS will grab for the ARC (Adaptive Replacement Cache), its in-memory cache of recently and frequently read blocks. This is why TrueNAS looks like it’s “using” most of your RAM even when the system is nearly idle. That’s cache doing its job, not a leak, and it gets released instantly if something else needs it.

The exact default size depends on your OpenZFS version and platform. Per the OpenZFS module parameters documentation, ARC sizing is controlled by zfs_arc_max and zfs_arc_min, and the effective default cap has shifted across releases. It was historically around half of system RAM on Linux and has trended toward using nearly all of it (RAM minus a reserve) on more recent OpenZFS versions. You can check what your system is actually running with:

arc_summary | head -20

The practical takeaway: more RAM directly increases your ARC hit rate, and ARC hits are served in microseconds versus milliseconds from disk. If you’re chasing read performance on a home NAS, adding RAM is almost always a better first move than adding an L2ARC SSD, because ARC has no read/write overhead penalty that L2ARC does.

Sizing RAM by what you’re actually running

File sharing only (SMB, NFS, no apps)

8-16 GB covers this comfortably for a small home setup of four to eight drives. Stick close to the official 8 GB floor plus the per-drive adjustment, and you’ll be fine unless you’re serving a lot of concurrent clients.

TrueNAS SCALE apps (Plex, *arr stack, Nextcloud, etc.)

Budget the base file-sharing RAM, then add whatever the apps themselves need on top. Apps run in containers and reserve memory independently of ARC. 16 GB is a realistic minimum once you’re running more than one or two lightweight apps; 32 GB gives real headroom for a stack like Plex plus Nextcloud plus a couple of *arr containers without starving the ARC.

Virtual machines, especially with iSCSI

This is where RAM requirements jump the most. The official guidance is blunt: 16 GB minimum for acceptable iSCSI-backed VM performance, 32 GB or more for good performance. VMs reserve their allocated memory directly, on top of whatever TrueNAS itself and ARC need, so this isn’t optional headroom. It’s a hard subtraction from what’s left for caching.

Deduplication

Don’t turn it on below 32-64 GB of total system RAM unless your pool is very small. At 5 GB per TB, dedup RAM costs scale faster than most home users expect, and the payoff (space savings) is workload-dependent. Compression (usually lz4 or zstd, on by default in modern TrueNAS) gets you most of the practical benefit without the RAM tax.

Directory services (AD/LDAP)

Add a flat 2 GB on top of whatever your base workload requires, for the Winbind cache.

RAM capacity and RAM type are two different decisions. ECC (Error-Correcting Code) RAM detects and corrects single-bit memory errors before they get written to disk. That matters to ZFS because its checksums are computed in memory, so a silent bit-flip before checksum time can produce a “valid” checksum for already-corrupted data. iXsystems recommends ECC RAM for data-integrity reasons but does not require it for TrueNAS to run; plenty of home systems operate on non-ECC memory without incident. If you’re choosing a platform and ECC support is on the table, prioritize RAM quantity first, then ECC if your budget and motherboard support it.

The short version

Start from the official 8 GB floor, then add for what you actually run: +1 GB per drive past eight, +2 GB for directory services, +16-32 GB if you’re doing iSCSI VMs, +5 GB per TB only if dedup is on, and whatever your apps reserve for themselves. For most home builds today, that lands you at 16 GB as a realistic working minimum and 32 GB as a comfortable target that leaves room for ARC to actually do its job. Buy RAM before you buy a bigger CPU; on a NAS, memory is almost always the better upgrade.

For security guidance around self-hosted infrastructure, aisec.blog covers offensive security testing methodology, and techsentinel.news tracks broader cybersecurity news relevant to services exposed from a home network.

Sources

  1. SCALE Hardware Guide: TrueNAS Documentation Hub
  2. TrueNAS Hardware Guide: TrueNAS Documentation Hub
  3. Module Parameters: OpenZFS Documentation (Performance and Tuning)

Related