(post deleted by author)

(post deleted by author)

1 Like

Probably some bytes or kilobytes worth of logs from the system dataset.

You may have noticed that ZFS doesn’t immediately write all data it gets, but gathers up a bunch of data to then write it more efficiently to disk. These are called transaction groups. There are tunables to alter the default behaviour of ZFS. In your case the TXG timeout period, after which the TXG is written to disk is set to 3-4 seconds (my guess is that is in fact 5 seconds because that’s the default).

You can either tell your system to not write logs and all that miscellaneous stuff that’s usually kept by the OS. Problem: lots of stuff possibly writes tiny amounts of data regularly to disk.

Or you can tell ZFS that the timeout period is longer than 5 seconds. My server runs with 2 minutes of timeout. Doesn’t mean that ARC gets filled by possibly 10s of Gigabytes over 2 minutes and only then flushes everything to disk. There are other mechanics in play like maximum amount of dirty data in the ARC which bypasses the TXG timeout.

The corresponding tunable is vfs.zfs.txg.timeout for truenas while the value is given in seconds (5 is default).
For debian systems you can find it in `/sys/module/zfs/parameters/zfs_txg_timeout or make it persistent with /etc/modprobe.d/zfs.conf

I set it to 2 minutes for both my server and my laptop. Server has noisy drives and notebook likes to keep NVMe in sleep state as often as possible for battery reasons.

edit: Or move OS/system dataset to SSD because they don’t care and are silent.

4 Likes

(post deleted by author)

2 Likes