[Bug 229670] Too many vnodes causes ZFS ARC to exceed limit vfs.zfs.arc_max (high ARC "Other" usage)

bugzilla-noreply at freebsd.org bugzilla-noreply at freebsd.org
Sat Mar 2 12:07:51 UTC 2019


https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=229670

--- Comment #19 from Graham Perrin <grahamperrin at gmail.com> ---
A year or so ago, before I was aware of this bug, I had a sense that things
weren't right on a notebook with 15.9 GiB memory. Probably 12.0-CURRENT at the
time. 

IIRC I chose to set vfs.zfs.arc_max to around 2 G. (I can't recall what made me
choose that figure … something in bug 187594, maybe. I vaguely recall 2 G being
around half of the default but that seems inconsistent with what I now read at
<https://www.freebsd.org/doc/handbook/zfs-advanced.html>.) 

Whilst I didn't take measurements, the end result was pleasing. 

With a cleaner installation of 13.0-CURRENT (~2018-12), I have not (yet) felt
the need to change vfs.zfs.arc_max

----

Today: 

grahamperrin at momh167-gjp4-8570p:~ % date ; uname -v ; uptime
Sat  2 Mar 2019 11:43:54 GMT
FreeBSD 13.0-CURRENT r344443 GENERIC-NODEBUG 
11:43a.m.  up 41 mins, 6 users, load averages: 1.02, 0.70, 0.61
grahamperrin at momh167-gjp4-8570p:~ % sysctl -a | grep vfs.zfs.arc
vfs.zfs.arc_min_prescient_prefetch_ms: 6
vfs.zfs.arc_min_prefetch_ms: 1
vfs.zfs.arc_meta_strategy: 0
vfs.zfs.arc_meta_limit: 3883606016
vfs.zfs.arc_free_target: 86433
vfs.zfs.arc_kmem_cache_reap_retry_ms: 0
vfs.zfs.arc_grow_retry: 60
vfs.zfs.arc_shrink_shift: 7
vfs.zfs.arc_average_blocksize: 8192
vfs.zfs.arc_no_grow_shift: 5
vfs.zfs.arc_min: 1941803008
vfs.zfs.arc_max: 15534424064
grahamperrin at momh167-gjp4-8570p:~ % sysctl -a | grep vnode
kern.maxvnodes: 348816
kern.ipc.umtx_vnode_persistent: 0
kern.minvnodes: 87204
Syncing disks, vnodes remaining... 0 0 0 0 0 0 done
Syncing disks, vnodes remaining... 0 0 0 0 0 0 done
Syncing disks, vnodes remaining... 0 0 0 0 0 done
vm.vnode_pbufs: 512
vm.stats.vm.v_vnodepgsout: 3703
vm.stats.vm.v_vnodepgsin: 126117
vm.stats.vm.v_vnodeout: 1842
vm.stats.vm.v_vnodein: 12321
vfs.freevnodes: 9195
vfs.wantfreevnodes: 87204
vfs.vnodes_created: 19046
vfs.numvnodes: 16690
vfs.cache.cache_lock_vnodes_cel_3_failures: 0
vfs.ncpurgeminvnodes: 512
debug.vnode_domainset: <NULL>
debug.sizeof.vnode: 480
debug.fail_point.status_fill_kinfo_vnode__random_path: off
debug.fail_point.fill_kinfo_vnode__random_path: off
grahamperrin at momh167-gjp4-8570p:~ % 

----

Now added to /etc/sysctl.conf :

vfs.zfs.arc_max="2147483648"

If I'm to add a setting for kern.maxvnodes –for test purposes – what would you
suggest?

TIA

-- 
You are receiving this mail because:
You are the assignee for the bug.


More information about the freebsd-fs mailing list