ZFS and UFS on the same box. Cache memory allocation issue.
alexz at visp.ru
Fri Dec 18 08:49:49 UTC 2009
There is an interesting issue when UFS and ZFS filesystems
coexists on the same box.
ZFS and UFS independently allocates memory for its cache.
Suppose we actively used UFS. UFS allocates almost all free memory for its
Its size can be indirectly evaluated with "inactive" memory size.
Then we began to use ZFS.
It seems that ZFS allocates memory for ARC _only_ from the "free" memory.
But now there is almost no no "free" memory (UFS has eaten it).
So ZFS operates very ineffectively due to very little ARC, which can be
indirectly evaluated with "wired" memory size.
To workaround this I've tried to run small program, that simply allocates,
example, 500MB of memory and frees it.
As result UFS returns memory to "free" pool and ZFS can allocate it for ARC.
It significantly increases ZFS performance.
Is there an another workaround?
More information about the freebsd-current