Taking into account limited hardware resources (see signature) the result is excellent, no extra CPU load, download/upload speed drop or other side effects.
The only thing I had to face was RAM size, and here is a brief report about success.
- FreeBSD kernel and related processes need at least 1 GB free RAM. Therefore have two sysctl tunables to setAfter a couple of days ZFS ARC balanced its actual working limit with at least 140 MB of free RAM (based on RRD graphs).
Code: Select all
vfs.zfs.arc_max:1G vfs.zfs.arc_min:512M - Since vfs.zfs.arc_max is not hard limit but desirable level, expect probable lack of RAM. Got it during upgrade (WebGUI).
Code: Select all
nas4free lighttpd[2318]: (chunk.c.581) write() temp-file /var/tmp/lighttpd-upload-hStfpL failed: nas4free kernel: pid 2318 (lighttpd), uid 0: exited on signal 11 - Restarted WebGUI withand tried upgrade again
Code: Select all
/etc/rc.d/lighttpd restartThe reason is clear, in-memory /var/tmp/ is too small.Code: Select all
nas4free lighttpd[6621]: (chunk.c.553) opening temp-file failed: No space left on device - Found another ZFS sysctl tunable vfs.zfs.arc_free_target to define how much memory should be left free from ZFS ARC for other processes. It counts in 4096 bit blocks and default NAS4Free value is 3289 (about 13 MB). Not much (140+13=152) especially if I need to get 155 MB firmware image xz file.
- Good news, vfs.zfs.arc_free_target tunable applies to live system and takes immediate effect. So simply raised it up to 128 MB. and went through the upgrade without glitches.
Code: Select all
sysctl vfs.zfs.arc_free_target:32768
- ARC releases memory too slow and lighttpd killed
- vfs.zfs.arc_free_target:32768 (128 MB)
- Successful upgrade and autoreboot
- New limit to test vfs.zfs.arc_free_target:16384 (64 MB)


