Apologies for this being off-topic in the strict sense, but this mailinglist
probably has a relatively high proportion of people sharing my fate and having
to manage o****e systems:

It is now 7 months that Robert has marked https://www.illumos.org/issues/3925
as fixed (THANK YOU, Robert!) but the issue still exists in current s11 (afaik
their bug is 7143346) - and my old workaround does not work any more.

I would like to share the result of two hours work to hopefully safe a similar
amount for someone else. It also contains a brief explanation.

#!/bin/bash

## reclaim memory from kmem caches
## workaround for issue documented here
##
##
http://mail.opensolaris.org/pipermail/networking-discuss/2012-February/014357.html
##
## update 20140227 [email protected]:
## somewhen between 151.0.1.12 and 11.1 oracle has changed the code calling
## kmem_cache_reap such that it will not get called any more if only freemem
## is lower than lotsfree. I don't know what the best way is to do achieve
## ip_dce_reclaim getting called, but there is a new condition in
ip_dce_reclaim_stack
## to only do the full cleanup if lotsfree + needfree > freemem, and
## setting needfree > freemen - lotsfree does the job
##
## because freemem may change at any time, we add a little 0x20 extra
## to our needfree.

ndd -set /dev/ip ip_dce_reclaim_fraction 1
{
echo '%/l/needfree >oldneedfree'
echo 'needfree/Z ((%/l/freemem)-(%/l/lotsfree)+20)'
sleep 2
echo 'needfree/Z <oldneedfree'
} | exec mdb -kw


-------------------------------------------
illumos-discuss
Archives: https://www.listbox.com/member/archive/182180/=now
RSS Feed: https://www.listbox.com/member/archive/rss/182180/21175430-2e6923be
Modify Your Subscription: 
https://www.listbox.com/member/?member_id=21175430&id_secret=21175430-6a77cda4
Powered by Listbox: http://www.listbox.com

Reply via email to