[OmniOS-discuss] Clues for tracking down why kernel memory isn't being released?

Dan McDonald danmcd at omniti.com
Thu Jul 16 17:05:50 UTC 2015


> On Jul 16, 2015, at 12:48 PM, Chris Siebenmann <cks at cs.toronto.edu> wrote:
> 
> It turns out that the explanation for this is relatively simple, as
> is the work around. Put simply: the OmniOS kernel does not actually
> free up these deallocated cache objects until the system is put under
> relatively strong memory pressure. Crucially, *the ZFS ARC does not
> create this memory pressure*; I think that you pretty much need a user
> level program allocating enough memory in order to trigger it, and I
> think the memory growth needs to happen relatively rapidly fast so that
> the kernel doesn't reclaim enough memory through lesser means (such as
> shrinking the ZFS ARC).
> 
> (Specifically, you need to force kmem_reap() to be called. The primary
> path for this is if 'freemem' drops under 'lotsfree', which is only a few
> hundred MB on many systems. See usr/src/uts/common/os/vm_pageout.c in
> the OmniOS source repo.)

You should bring this up on the illumos developer's list.  This isn't exclusive to OmniOS, and I believe at least on non-OmniOS illumos developer is working on general VM improvements as a side-gig at his day job.

Dan



More information about the OmniOS-discuss mailing list