On 21/12/2010 14:25, Phil Harman wrote:
Hi Jeff,

ZFS support for mmap() was something of an afterthought. The current
Solaris virtual memory infrastructure didn't have the features or
performance required, which is why ZFS ended up with the ARC.

Yes, you've got it. When we mmap() a ZFS file, there are two main caches
involved: the ZFS ARC and the good old Solaris page cache. The reason
for poor performance is the overhead of keeping the two caches in sync,
but contention for RAM is also an issue.

Clamping the ARC is probably a good thing in your case, but it only
addresses part of the problem.

Another alternative to try would be setting primarycache=metadata on the ZFS dataset that contains the mmap files. That way you are only turning of the ZFS ARC cache of the file content for that one dataset rather than clamping the ARC.

--
Darren J Moffat
_______________________________________________
zfs-discuss mailing list
zfs-discuss@opensolaris.org
http://mail.opensolaris.org/mailman/listinfo/zfs-discuss

Reply via email to