ZFS and UFS on the same box. Cache memory allocation issue.

Alexander Zagrebin 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
cache.
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,
for
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?

-- 
Alexander Zagrebin



More information about the freebsd-current mailing list