#305: ZFS on 32-bit kernel has known resource starvation
--------------------------------+-------------------------------------------
Reporter: JoeLittle | Owner: somebody
Type: defect | Status: new
Priority: high | Milestone: Elatte Unstable Beta 1
Component: opensolaris | Version: 1.0
Severity: critical | Keywords: zfs memory starvation
Launchpad_linked: 0 |
--------------------------------+-------------------------------------------
A lot of users of ZFS have been seeing problems with 32-bit kernels
starving for resources on moderate disk i/o (such as building source
code). The patch may come from upstream opensolaris at some point (Build
40 or beyond), but a workaround has been presented for quite some time. I
suggest that GnuSolaris incorporate the workaround as noted from the
following message on zfs-discuss:
{{{
> However there's still not fixed problem on 32bit platforms with memory
> starving by ZFS (or is it fixed already?).
If that is:
Bug 6397610: ARC cache performance problems, on 32-bit x86 kernel
and 6398177: zfs: poor nightly build performance in 32-bit mode (high
disk activity)
I've been using the following patch for a few weeks now, and the problem
is gone:
diff -ru ../opensolaris-20060417/usr/src/uts/common/fs/zfs/arc.c
usr/src/uts/common/fs/zfs/arc.c
--- ../opensolaris-20060417/usr/src/uts/common/fs/zfs/arc.c 2006-04-18
15:58:12.000000000 +0200
+++ usr/src/uts/common/fs/zfs/arc.c 2006-04-19 12:28:40.475685026
+0200
@@ -1212,6 +1212,11 @@
* up too much memory.
*/
dnlc_reduce_cache((void *)(uintptr_t)arc_reduce_dnlc_percent);
+
+ /*
+ * Reclaim unused memory from all kmem caches.
+ */
+ kmem_reap();
#endif
/*
}}}
--
Ticket URL: <http://www.gnusolaris.org/cgi-bin/trac.cgi/ticket/305>
Nexenta Bug Tracking System <http://www.gnusolaris.org/gswiki/Bugs>
Core Components_______________________________________________
GNU/Solaris Development mailing list
[email protected]