Storage question

Karl Vogel vogelke at
Wed Sep 9 18:50:36 UTC 2015

On Wed, Sep 09, 2015 at 02:42:53PM +0100, Matthew Seaman wrote:
> Actually, ZFS's RAM requirements may not be as gargantuan as all that.
> Despite its reputation for gobbling up all that's available and asking
> for more, it doesn't have to be that way.  What takes up the space are
> the filesystem caches, and how much you need for those depends
> absolutely on your usage patterns.

  I'm on a Solaris-11.1 system so this doesn't strictly apply, but with
  a little tweaking ZFS works pretty well with low memory:

  Environment: full X-Windows, Apache, dev stuff (compilers, etc.)
  Memory: 4Gb PC3-10600
  Chipset: AMD 785G
  CPU: AMD Athlon(tm) II X2 B28 Processor, 3.4 GHz, 2MB L2 cache
  Disk: 500-GB 3.5" Drive 7,200 rpm, 16MB cache, 3.0 GB/s

  I have a second drive with a 32MB cache, and the performance improvement
  from the additional memory is significant.  My boot settings are below;
  hope this helps.

  [Yes, I'd love more memory.  It's a gov't site, I ordered it last Nov,
   and I'm sure it'll be here any day now.]

Karl Vogel                      I don't speak for the USAF or my company

Lois, I think people would prefer a knock to "Pants on".
              --Clark Kent chastising Lois Lane for her preferred way
                of entering a room on "Smallville".

# -------------------------------------------------------------------------
# Prefetch is on by default, disable for workloads with lots of random I/O.
# or if prefetch hits are less than 10%.
set zfs:zfs_prefetch_disable = 1

# Seems to make scrubs faster.
set zfs:zfs_no_scrub_prefetch   =    1
set zfs:zfs_top_maxinflight     =   64
set zfs:metaslab_min_alloc_size = 4096
set zfs:zfs_scan_idle           =   10
set zfs:zfs_scrub_delay         =    1

# Enable no write throttling?  If your drives can't keep up, you
# can end up with a core dump, according to
## set zfs:zfs_no_write_throttle    = 1
## set zfs:zfs_write_limit_override = 1

# Looks like it's more for storage arrays or JBODs.
## set zfs:zfs_nocacheflush = 1

# Keep ARC size to about 1/4th memory
set zfs:zfs_arc_max = 1048576000
set zfs:zfs_arc_min = 1048576000
# -------------------------------------------------------------------------

More information about the freebsd-questions mailing list