Freenas Question

So, I’ve got Freenas running on a Dell Poweredge with an HBA card running 6x 2TB Drives. I have 24GB of RAM running as well.

For some reason, even just as a file storage, Cache is eating 20GB of that RAM. Only less than 1GB is actually free.

Is there a possible config problem? This was basically a fresh install, but I moved my home data over. Now its eating all the memory. Data has been on the server for a couple of days now. But the cache is still eating all the memory.

As a note: All my data was moved off an old QNAP I’ve been trying to retire.

So, where’s the problem then? :smile: It’s supposed to do that!

ZFS has a feature called ARC (Adaptive Replacement Cache). It caches data that it thinks will get accessed in memory and by default, FreeNAS allocates almost all the available memory to the ARC because the bigger the ARC, the better the performance. Memory will be freed up if it is needed by other processes.

Unless you’re actually experiencing the opposite effect (degraded performance), I wouldn’t worry about it.

1 Like

Ah, okay. That’s fine then. What if I were to put in two NVMe SSDs in RAID1 to use as temp cache, would they make a difference?

ZFS includes two exciting features that dramatically improve the performance of read operations. I’m talking about ARC and L2ARC. ARC stands for adaptive replacement cache. ARC is a very fast cache located in the server’s memory (RAM). The amount of ARC available in a server is usually all of the memory except for 1GB.

For example, a ZFS server with 24GB of RAM has 20GB dedicated to ARC, which means our ZFS server will be able to cache 20GB of the most accessed data. Any read requests for data in the cache can be served directly from the ARC memory cache instead of hitting the much slower hard drives. This creates a noticeable performance boost for data that is accessed frequently.

As a general rule, you want to install as much RAM into the server as you can to make the ARC as big as possible. At some point, adding more memory is just cost prohibitive. That is where the L2ARC becomes important. The L2ARC is the second level adaptive replacement cache. The L2ARC is often called “cache drives” in the ZFS systems. These cache drives should be faster drives than what they are caching for, so assuming you have old spinning rust drives NVME would make for a fast cache.

Thanks for this. Could I force it to use L2ARC more? This is just a file storage server. I have plex using it to grab some media files every once in awhile. But as an insight, it transmits less than 2GB a week. **The plex server I run does extreme compression and uses its resources to transcode the media.

I just like the simplicity and reliability of Freenas compared to my QNAP.

No need to, it handles it all dynamically and will adjust itself as needed.

So technically, if this is a rarely used system, I could chop it down to 12-16GB or less? Since I don’t need faster performance.