[ZFS] ARC accounting bug ?
Ben RUBSON
ben.rubson at gmail.com
Fri Aug 26 09:39:06 UTC 2016
Hello,
Before opening a bug report, I would like to know whether what I see is "normal" or not, and why.
### Test :
# zfs import mypool
# zfs set primarycache=metadata mypool
# while [ 1 ]; do find /mypool/ >/dev/null; done
real 0m59.469s
user 0m0.243s
sys 0m3.184s
real 0m1.445s
user 0m0.181s
sys 0m1.264s
real 0m1.441s
user 0m0.150s
sys 0m1.291s
(...) // then all results are equal to 0m1.4s
# zfs-mon -a
ZFS real-time cache activity monitor
Seconds elapsed: 162
Cache hits and misses:
1s 10s 60s tot
ARC hits: 79228 76030 73865 74953
ARC misses: 22510 22184 21647 21955
ARC demand data hits: 0 0 0 0
ARC demand data misses: 4 7 8 7
ARC demand metadata hits: 79230 76030 73865 74953
ARC demand metadata misses: 22506 22177 21639 21948
ZFETCH hits: 47 29 32 31
ZFETCH misses:101669 98138 95433 96830
Cache efficiency percentage:
10s 60s tot
ARC: 77.41 77.34 77.34
ARC demand data: 0.00 0.00 0.00
ARC demand metadata: 77.42 77.34 77.35
ZFETCH: 0.03 0.03 0.03
### Question :
I don't understand why I have so many ARC misses.
There is no other activity on the server (as soon as I stop the find loop, no more ARC hits).
As soon as the first find loop is done, there is no more disk activity (according to zpool instate -v 1), no read/write operations on mypool.
So I'm pretty sure all metadata comes from ARC.
So why are there so many ARC misses ?
Any clue ?
An accounting bug ?
Many thanks !
Ben
More information about the freebsd-fs
mailing list