Thanks for replying Alan,<br />
I have found the issue in my case, I was using external LDAP with <br />
radius and if LDAP is down then for the same EAP requests multiple <br />
authentication sessions were getting created. And as the cleanup of eap <br />
requests is plugged in processing of a reply message, this makes the <br />
cleanup happen only when a successful EAP request goes through.<br />
<br />
I am thinking to put a cleanup in session creation path also which <br />
cleans very old sessions( double of usual timer limit 20 seconds. So I <br />
guess this will not impact any ongoing EAP request(not making to go to <br />
"no state variable" state for EAP request, an early delete of an <br />
handler).<br />
<br />
Thanks,<br />
Kunal Solanki <br />
<br />
On Wed, 23 Jun 2010 16:12:33 +0530 wrote<br />
>Kunal Solanki wrote:<br />
<br />
> I have been using freeradius version 2.1.4 and when I upgraded to <br />
2.1.7<br />
<br />
> I am facing issues of high memory usage by radiusd. In 2.1.4 also the<br />
<br />
> memory usage was quite high under high load but it used to come down<br />
<br />
> after some time when abandoned requests are cleaned up. The cleanup<br />
<br />
> trigger is not timer based in freeradius and is part of ongoing<br />
<br />
> requests. In 2.1.7 version somehow this cleanup doesn't happen<br />
<br />
> effectively and looks like for the same EAP requests a lot of <br />
dangling<br />
<br />
> handlers are created which are not getting cleaned.<br />
<br />
<br />
<br />
You can instrument the code to see when they're getting cleaned up.<br />
<br />
Or, edit it to clean up *more* of them at a time.<br />
<br />
<br />
<br />
> I tried to cleanup<br />
<br />
> old handlers in src/modules/rlm_eap/mem.c but that causes other<br />
<br />
> side-affects of requests being present and no matching session state<br />
<br />
> variable found for that.<br />
<br />
<br />
<br />
Uh... all you need to do is to change the "for" loop in<br />
<br />
eaplist_expire, to loop over more entries.<br />
<br />
<br />
<br />
> I believe in src/main/event.c we should have some sought of cleanup <br />
for<br />
<br />
> the old requests itself.<br />
<br />
<br />
<br />
No. The server event loop doesn't deal with modules.<br />
<br />
<br />
<br />
Alan DeKok.<br />
<br />
-<br />
<br />
List info/subscribe/unsubscribe? See <br />
http://www.freeradius.org/list/devel.html<br />
<br />
<br><Table border=0 Width=644 Height=57 cellspacing=0 cellpadding=0 style="font-family:Verdana;font-size:11px;line-height:15px;"><TR><td><A HREF="http://sigads.rediff.com/RealMedia/ads/click_nx.ads/www.rediffmail.com/signatureline.htm@Middle?" target="_blank"><IMG SRC="http://sigads.rediff.com/RealMedia/ads/adstream_nx.ads/www.rediffmail.com/signatureline.htm@Middle"></A></td></TR></Table>