ZFS file caching question
Kris Kennaway
kris at FreeBSD.org
Wed Apr 23 14:36:42 UTC 2008
Andrew Gallatin wrote:
> If I have, say, 512MB RAM and a 1GB file which is written or read
> sequentially on an otherwise idle system, I'd expect the last 512MB (-
> epsilon) of the file's pages to be cached in RAM. This is true for
> UFS, but it does not appear to be the case with ZFS (see example
> below).
>
> Can somebody explain how the arc cache in ZFS relates to the normal
> page cache used by traditional filesystems? Are ZFS filesystems
> cached exclusively in the arc cache, and not in the page cache? Is
> the arc cache per-filesystem, per-pool, or global for ZFS as a whole?
The ZFS arc cache is completely independent from the normal buffer cache
on FreeBSD. This is inefficient in a number of ways. I have also seen
things that make me suspicious that it is not caching properly even when
you tune it to be "large enough" (if possible given memory constraints),
but I haven't confirmed this.
> Hmm.. Could this be the cause of the problems with ZFS and mmap'ed files?
What problems do you mean? There were coherency problems but I think
they were fixed.
Kris
More information about the freebsd-current
mailing list