2

I keep seeing intermittent z_wr_iss kernel threads consuming all my CPU. I've no idea what ZFS is doing: maybe snapshotting, but why is taking so much CPU? It is not a cron job.

I've read elsewhere (from 2013 https://github.com/zfsonlinux/zfs/issues/1637) that this is compression, but I don't know why snapshotting would be doing compression. I do have gzip and lz compressed filesystems. I really want to tell specifically what ZFS is doing, and ideally which files it is touching to cause this problem.

I've read the zfs, zpool and zdb man pages, and tried: zdb -Gv qpool but this doesn't give any debug information.

I am using bionic kernel (4.15.0-13-generic) and ZFS (0.7.5-1ubuntu14). I have a pure nvme pool, and a spinning pool with SSD logs and caches. I can't even tell which of my two pools is being accessed to cause this problem. This was not a problem a few months ago, and I'm afraid I don't know when this started.

Any advice on how to diagnose or even directly fix my problem would be appreciated.

1
  • 1
    How often do these threads consume your CPU cycles? Every few seconds? Every few minutes? Every few hours? What's else is happening on the host when you see this? Apr 21, 2018 at 11:52

1 Answer 1

2

I'm afraid it was a cron job after-all, and the CPU churn was because rsync was operating on a gzip-9 compressed filesystem. As little changes on the filesystem, I am still surprised by the massive load for a tiny or zero rsync diff. I've switched to a more sensible compression algorithm and things sped up even though I didn't recompress the data. Perhaps rsync temp files in the source filesystem were causing the problem?

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.