|
Neohapsis is currently accepting applications for employment. For more information, please visit our website www.neohapsis.com or email hr@neohapsis.com |
From: Jonas Blunck TACMa (jobu
TAC.SE)Date: Wed Feb 06 2002 - 07:09:54 CST
I still don't understand :-( If you are returning a copy, how come you need
to keep the original recordset referenced? What kind of recordsets are you
talking about? ADO?
Cheers
Jonas
-----Original Message-----
From: Pete Davis [mailto:pdavis
QUETEL.COM]
Sent: den 6 februari 2002 14:10
To: DCOM
DISCUSS.MICROSOFT.COM
Subject: Re: Page Swapping
The client's release of the recordset does not release it on the server
(because a copy is made to return to the client). We need to maintain a
reference count of at least 1 to return a valid recordset. Once the function
has returned, we can't release it because the component goes into an
inactive state after the return. There's no place ot release the server-side
copy. That's why we have the garbage collection.
Pete
----- Original Message -----
From: "Jonas Blunck TACMa" <jobu
TAC.SE>
To: <DCOM
DISCUSS.MICROSOFT.COM>
Sent: Wednesday, February 06, 2002 8:04 AM
Subject: Re: Page Swapping
> I haven't followed the intire thread, so I may be a bit off in my
> reply
:-)
>
> You state that you return your recordsets as out-params, and that you
cannot
> release it in the server since the client is using it. This is what
> reference counting is all about. The client should release the
> recordset when he is done with it.
>
> How come you need to release it in your server?
>
> // B
>
> -----Original Message-----
> From: Pete Davis [mailto:pdavis
QUETEL.COM]
> Sent: den 6 februari 2002 14:02
> To: DCOM
DISCUSS.MICROSOFT.COM
> Subject: Re: Page Swapping
>
>
> The reason we need the garbage collection is that we actually return
> the recordsets as [out] parameters in our methods. It's kinda hard to
> release
it
> after the function we return it in. Our components are written in
> VC++.
>
> What we do, instead, is maintain a list of recordsets that have been
> returned. When a method in the component is called, it goes through
> and deletes anything that's more than 2 minutes old.
>
> Pete
> ----- Original Message -----
> From: "ArunKumar S" <akumar
OMNESYSINDIA.COM>
> To: <DCOM
DISCUSS.MICROSOFT.COM>
> Sent: Wednesday, February 06, 2002 12:42 AM
> Subject: Re: Page Swapping
>
>
> > Guess ur paging probs are solved - but i think i might need a bit of
> > info regarding the recordset garbage collection u mentioned earlier
> >
> > And what is the IDl declaration u use and what is the platform u use
> > for
> ur
> > COM object vc / VB ? - I was under the assunmption that once an
> > interface is marhsalled across it can be freed at the COM component
> > and thats it The copy of memory that is recieved at the client can
> > be freed by the
> client
> > - what is the need for a seperate garbage collection like say 2
> > minutes after it is sent across ?
> >
> > ----- Original Message -----
> > From: Pete Davis <pdavis
QUETEL.COM>
> > To: <DCOM
DISCUSS.MICROSOFT.COM>
> > Sent: Tuesday, February 05, 2002 11:11 AM
> > Subject: Re: Page Swapping
> >
> >
> > > The recordsets are returned. Once returned, they have a life of
> > > their
> own
> > on
> > > the client. On the server side, we keep a reference count while
> > > we're retiurning then. After 2 minutes, we discard of them
> > > (release until reference count = 0) . Not the cleanest way to deal
> > > with returned
> objects,
> > > but it works, and it saves us the problem of having to pass the
> > > objects
> in
> > > and back out.
> > >
> > > Pete
> > > ----- Original Message -----
> > > From: "ArunKumar S" <akumar
OMNESYSINDIA.COM>
> > > To: <DCOM
DISCUSS.MICROSOFT.COM>
> > > Sent: Tuesday, February 05, 2002 12:08 AM
> > > Subject: Re: Page Swapping
> > >
> > >
> > > > How do u do the garbage collection on the recordsets u return ?
> > > >
> > > > ----- Original Message -----
> > > > From: Pete Davis <pdavis
QUETEL.COM>
> > > > To: <DCOM
DISCUSS.MICROSOFT.COM>
> > > > Sent: Tuesday, February 05, 2002 7:31 AM
> > > > Subject: Page Swapping
> > > >
> > > >
> > > > We have a COM+ server with around 40 components. I would say
> > > > there are roughly 6 or so that are used repeatedly.
> > > >
> > > > We find that, even on servers with plenty of memory (like 700mb
> > > > more
> > than
> > > > the COM+ app uses), we get a lot of page faults. Sometimes so
> > > > bad that
> > it
> > > > affects CPU performance.
> > > >
> > > > I'm really at a loss for what could be causing so many page
> > > > faults.
> The
> > > > entire COM+ app is only about a meg and a half, so the code
> > > > shouldn't
> be
> > > > paging. Sometimes we have the database on the same machine,
> > > > other
> times
> > > not,
> > > > either way, the page faults are high.
> > > >
> > > > I know this is vague, and I can't really explain the entire app
> > > > and
> > can't
> > > > show the code, but can anyone give us some hints at what to look
> > > > for?
> > > >
> > > > We did find some major memory leaks and the COM+ components were
> > consuming
> > > a
> > > > great deal of memory. Basically, we were leaking interfaces that
> > > > we
> were
> > > > returning from the components. We didn't want to pass the
> > > > interfaces
> in
> > > > doing an in/out, because we didn't need the extra overhead, so
> > > > we implemented garbage collection, which happens every 2
> > > > minutes. This
> took
> > > > care of about 90% of the leaks (we're still searching for the
> > > > other
> 10%)
> > > >
> > > > This still hasn't fixed the problem.
> > > >
> > > > Could it have something to do with returning interfaces?
> > > > Actually,
> what
> > we
> > > > return are ADO recordsets, which we garbage-collect every 2
> > > > minutes.
> > > >
> > > > Any help would be greaty appreciated.
> > > >
> > > > Pete
> > > >
> > > > ----------------------------------------------------------------
> > > > Users Guide http://discuss.microsoft.com/archives/mailfaq.asp
> > > > contains important info. Save time, search the archives at
> > > > http://discuss.microsoft.com/archives/index.html . To
> > > > unsubscribe, mailto:DCOM-signoff-request
DISCUSS.MICROSOFT.COM
> > > >
> > > > ----------------------------------------------------------------
> > > > Users Guide http://discuss.microsoft.com/archives/mailfaq.asp
> > > > contains important info. Save time, search the archives at
> > > > http://discuss.microsoft.com/archives/index.html . To
> > > > unsubscribe, mailto:DCOM-signoff-request
DISCUSS.MICROSOFT.COM
> > > >
> > >
> > > ----------------------------------------------------------------
> > > Users Guide http://discuss.microsoft.com/archives/mailfaq.asp
> > > contains important info. Save time, search the archives at
> > > http://discuss.microsoft.com/archives/index.html . To unsubscribe,
> > > mailto:DCOM-signoff-request
DISCUSS.MICROSOFT.COM
> >
> > ----------------------------------------------------------------
> > Users Guide http://discuss.microsoft.com/archives/mailfaq.asp
> > contains important info. Save time, search the archives at
> > http://discuss.microsoft.com/archives/index.html . To unsubscribe,
> > mailto:DCOM-signoff-request
DISCUSS.MICROSOFT.COM
>
> ----------------------------------------------------------------
> Users Guide http://discuss.microsoft.com/archives/mailfaq.asp
> contains important info. Save time, search the archives at
> http://discuss.microsoft.com/archives/index.html . To unsubscribe,
> mailto:DCOM-signoff-request
DISCUSS.MICROSOFT.COM
>
> ----------------------------------------------------------------
> Users Guide http://discuss.microsoft.com/archives/mailfaq.asp
> contains important info. Save time, search the archives at
> http://discuss.microsoft.com/archives/index.html . To unsubscribe,
> mailto:DCOM-signoff-request
DISCUSS.MICROSOFT.COM
----------------------------------------------------------------
Users Guide http://discuss.microsoft.com/archives/mailfaq.asp
contains important info. Save time, search the archives at
http://discuss.microsoft.com/archives/index.html . To unsubscribe,
mailto:DCOM-signoff-request
DISCUSS.MICROSOFT.COM
----------------------------------------------------------------
Users Guide http://discuss.microsoft.com/archives/mailfaq.asp
contains important info. Save time, search the archives at
http://discuss.microsoft.com/archives/index.html .
To unsubscribe, mailto:DCOM-signoff-request
DISCUSS.MICROSOFT.COM
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]