Hello Steve,

You can retroduce it easily with test/publish.c program. Modify the program and 
add a sleep(60) before saEvtFinalize. Run the top -p <aisexec pid> on one 
window and run publish on other window. When it is publishing , the memory of 
aisexec will increase from 15m to 17m. Even when it stops publishing 
(sleeping), memory will still be 17m. Memory will reduce to 15m again when 
saEvtFinalize is invoked from client side. This is surely a bug in openais. 
This will happen with any version of openais.

Let me know if you need any help in reproducing the issue.

Note: This problem exists even with/without retention time. I changed retention 
time to zero in publish.c test program and the behavior is same.

Regards
Ramesh

-----Original Message-----
From: Steven Dake [mailto:[EMAIL PROTECTED]
Sent: Wednesday, March 19, 2008 11:01 PM
To: Hegde, Ramesh (OpenCall)
Cc: [email protected]; [EMAIL PROTECTED]
Subject: RE: aisexec consumes a huge amount of memory

Ramesh,

Two notes:

The client will maintain the memory area until you do an saEvtEventFree
call.  That frees the memory associated with the event in the client
(your application itself).

The server also retains the event for the retention time specified in
the saEvtEventAttributesSet operation.  This retentionTime is a
duration, or the number of nanoseconds to retain the event for new
subscribers on the event channel.  If you specify SA_TIME_END it will be
retained forever.  The best value under high load conditions is zero.

What kind of retention time are you using for your events?  It is
possible this retention time management may have some issue under high
load in which case it can be addressed.  If you are using a 0 retention
time duration the event should be freed from the executive as soon as it
is transmitted internally resulting in very small memory load.

Regards
-steve

On Wed, 2008-03-19 at 15:37 +0000, Hegde, Ramesh (OpenCall) wrote:
> Hello Steve,
>
> It is just openais-0.80.3. It is the source from whitetank only. I think it 
> is not a memory leak but it is grow in memory from 20M to 500M due to load. 
> When we stop the application that is generating notification , the memory 
> again comes back to 70M.  May be because we do finalise from client library.
>
> This happens even when we have only single node(No cluster formed). We tested 
> both way.
>
> Now I have the following questions
>
> When Openais is loaded too much , does it grab more and more memory?
> When load is reduced will it release the memory automatically?
> What is the min and max memory or any threshold or locking period for this 
> memory?
>
> Please find answers to some of your questions below.
> 1. We send around 10000+ events.
> 2. Each event may be of around 2k size or less.
>
> The highlighting point here is when we stop application where it will invoke  
> EventFree() and Event Finalize() Client APIs, the size reduced drastically.
>
> Regards
> Ramesh
> -----Original Message-----
> From: Steven Dake [mailto:[EMAIL PROTECTED]
> Sent: Wednesday, March 19, 2008 5:12 AM
> To: Hegde, Ramesh (OpenCall)
> Cc: [email protected]; [EMAIL PROTECTED]
> Subject: Re: aisexec consumes a huge amount of memory
>
> Ramesh,
>
> I am not sure what source tree you are using and I'm not sure what
> openais-0.80.3-2 is.
>
> Please send me a src rpm that you are using so that I can see which
> revision of the tree you are using.
>
> Please identify "several events" in numerical terms and how big the
> events and their contents are.
>
> Do you have nodes joining and leaving the cluster during the time this
> occurs?
>
> If you have a simple test case I can investigate.  If not I'll try to
> duplicate on your tree and then on the tip of whitetank and we can go
> from there.
>
> Regards
> -steve
>
> On Tue, 2008-03-18 at 07:11 +0000, Hegde, Ramesh (OpenCall) wrote:
> > Hello Steve
> >
> >
> >
> > We have observed the following behavior with aisexec daemon. Note that
> > we are using only event service from openais.
> >
> >
> >
> > ·        The aisexec process uses about 15M of resident memory just
> > after startup.
> >
> > ·        After sending several Events ,  the amount of resident memory
> > used by aisexec process is about 500M
> >
> > ·        Some aged instance of this process using about 1.2GB
> >
> >
> >
> > Such resource consumption of this process sounds abnormal.  We are
> > using openais version openais-0.80.3-2.
> >
> >
> >
> > Have you seen such behavior earlier? Is there anything else we need to
> > do to avoid this kind of issue?
> >
> >
> >
> > Thanks in Advance
> >
> > Regards
> >
> > Ramesh
> >
> >
> >
> >
> >
> >
> >
> > Ramesh Hegde
> >
> > Software Engineer, Hewlett Packard
> >
> >
> > India Software Operations Pvt. Ltd
> >
> >
> > Sy No 192, Whitefield Road
> >
> >
> > Mahadevapura Post
> >
> >
> > Bangalore - 560 048. India.
> >
> >
> > +91 80 2516 6486- Direct
> >
> >
> > +91 80 2513 3522 - Fax
> >
> >
> > Jabber Id : [EMAIL PROTECTED]
> >
> >
> > +hp = everything is possible
> >
> >
> >
> >
>

_______________________________________________
Openais mailing list
[email protected]
https://lists.linux-foundation.org/mailman/listinfo/openais

Reply via email to