Hi, > 2025年5月14日 11:13,Michael reports bugs <[email protected]> 写道: > > MFU data target: -373596196279.3 % -27644722171524358144 Bytes > > MRU data target: 373596196366.3 % 24.0 EiB > > I think these are wrong. I'm guessing some sort of signed arithmetic bug.
arcstat is a python script [1], so it should have singed conversion problems. From [1] we can see the calculation: * s = 4294967296 = 2^32 * MFU data target: v = (s-int(pd))*(s-int(meta))/s * MRU data target: v = int(pd)*(s-int(meta))/s * MRU metadata target: v = int(pm)*int(meta)/s Since MRU metadata target looks normal, meta and s should all be good. By some calculation we know pd ~= -1.60e19, which is close to ~2^63.8. And this number is read directly from /proc/spl/kstat/zfs. I did not have time to investigate further, but I am sure this is some issue from the zfs kmod statistics (maybe still signed / unsigned). Does this problem reproduces after a reboot? [1]: https://github.com/openzfs/zfs/blob/10a78e26479325a40ace80198249a36906b4d446/cmd/arc_summary#L629 Thanks, Shengqi Chen

