Login ProductsSalesSupportDownloadsAbout |
Home » Technical Support » ElevateDB Technical Support » Support Forums » ElevateDB General » View Thread |
Messages 1 to 10 of 29 total |
Memory loss with EDBSRVR.exe ? |
Mon, Jun 23 2008 12:57 PM | Permanent Link |
peter.moser | On our webserver I can watch edbsrvr.exe eating memory in the Taskmanager.
Since i didnt find a thread in the newsgroups about memory leaks in edbsrvr.exe, I believe that I screwed up. But where? It looks like our apps are allocating memory in edbsrvr.exe and are not freeing it. The setting: Software: Delphi 7 - CGI - Webmodules with ElevateDB 1.09 C/S IIS 6 on Windows Server 2003 R2 Servicepack 1 edbsrvr.exe as service on another Windows Server 2003 R2 Servicepack 1 We are textindexing three CLOB columns - using Roy Lambert's very fine wordgenerator Version 2. The CGI Applications and queries are ported from DBISAM 4 and worked fine there The Code in BeforeDispatch: EDBdatenbank.connected:=false; EDBsession.connected:=false; EDBsession.SessionType:=edbcomps.stRemote; EDBsession.LoginUser:=inifile.readstring('EDBRemote','user',''); EDBsession.LoginPassword:=inifile.readstring('EDBRemote','passwort',''); EDBsession.RemoteAddress:=inifile.readstring('EDBRemote','IP',''); EDBsession.RemotePort:=inifile.ReadInteger('EDBremote','port',12005); EDBsession.RemoteCompression:=inifile.ReadInteger('EDBremote','compression',0); EDBdatenbank.database:=inifile.readstring('EDBRemote','datenbank',''); The code in afterDispatch: EDBDatenbank.Close; EDBDatenbank.connected:=false; EDBSession.DropConnections; EDBsession.Connected:=false; EDBsession.close; EDBEngine.Close; Again: it is not about memory holes in the CGI Application: it is edbsrvr.exe eating memory What can cause the databaseserver to consume memory and not freeing it? Help would be urgently appreciated! Peter |
Mon, Jun 23 2008 1:13 PM | Permanent Link |
Tim Young [Elevate Software] Elevate Software, Inc. timyoung@elevatesoft.com | Peter,
<< On our webserver I can watch edbsrvr.exe eating memory in the Taskmanager. Since i didnt find a thread in the newsgroups about memory leaks in edbsrvr.exe, I believe that I screwed up. But where? >> Are all of the EDB components being used on the webmodule ? -- Tim Young Elevate Software www.elevatesoft.com |
Mon, Jun 23 2008 1:35 PM | Permanent Link |
peter.moser | Tim,
thanks for the fast reply! EDBDatabase, EDBSession and EDBEngine are as components on the webmodule. The EDBquery is created at runtime and closed and destroyed after use. Peter "Tim Young [Elevate Software]" <timyoung@elevatesoft.com> wrote: Peter, << On our webserver I can watch edbsrvr.exe eating memory in the Taskmanager. Since i didnt find a thread in the newsgroups about memory leaks in edbsrvr.exe, I believe that I screwed up. But where? >> Are all of the EDB components being used on the webmodule ? -- Tim Young Elevate Software www.elevatesoft.com |
Mon, Jun 23 2008 1:39 PM | Permanent Link |
Roy Lambert NLH Associates Team Elevate | peter.moser
>We are textindexing three CLOB columns - using Roy Lambert's very fine wordgenerator Version 2. Yippee fame at last. I just hope its not my code eating memory. Roy Lambert |
Mon, Jun 23 2008 1:43 PM | Permanent Link |
Tim Young [Elevate Software] Elevate Software, Inc. timyoung@elevatesoft.com | Peter,
<< EDBDatabase, EDBSession and EDBEngine are as components on the webmodule. The EDBquery is created at runtime and closed and destroyed after use. >> If you want to send me your code via email, I can check it out and see what the issue may be. -- Tim Young Elevate Software www.elevatesoft.com |
Mon, Jun 23 2008 3:23 PM | Permanent Link |
peter.moser | Tim,
thanks a lot for the offer, I will need a couple of hours to extract the important parts to a small program, which I will gladly send to you. Until then: could the wordgenerator actually - as Roy jokingly mentioned - cause memory losses? Peter "Tim Young [Elevate Software]" <timyoung@elevatesoft.com> wrote: Peter, << EDBDatabase, EDBSession and EDBEngine are as components on the webmodule. The EDBquery is created at runtime and closed and destroyed after use. >> If you want to send me your code via email, I can check it out and see what the issue may be. -- Tim Young Elevate Software www.elevatesoft.com |
Tue, Jun 24 2008 1:52 AM | Permanent Link |
Roy Lambert NLH Associates Team Elevate | peter
Its very unlikely unless it a) has a memory loss in it AND b) is getting loaded and unloaded. Just looking at my code again I do use 3 stringlists. One was inside an if .. end block and wouldn't have been freed if the control file didn't exist. I've posted revised code to the extensions ng I can't see how this can give much of a leak since its in the initialization section, but if this is it it (I think) means that the dll is getting loaded and unloaded a lot which means, from my memory of what Tim posted, lots of sessions being created / destroyed. Roy Lambert |
Sat, Jun 28 2008 10:22 AM | Permanent Link |
peter.moser | Roy,
Thank you very much for the new code (and thank you for the very nice extentions!). As it turns out the wordgenerator is not the source of memory losses. I tried the default wodgenerator with the same result: 4 k memory loss per session. Peter Roy Lambert <roy.lambert@skynet.co.uk> wrote: peter Its very unlikely unless it a) has a memory loss in it AND b) is getting loaded and unloaded. Just looking at my code again I do use 3 stringlists. One was inside an if .. end block and wouldn't have been freed if the control file didn't exist. I've posted revised code to the extensions ng I can't see how this can give much of a leak since its in the initialization section, but if this is it it (I think) means that the dll is getting loaded and unloaded a lot which means, from my memory of what Tim posted, lots of sessions being created / destroyed. Roy Lambert |
Sat, Jun 28 2008 10:41 AM | Permanent Link |
peter.moser | Tim,
Please try this: a) Create a new project in Delphi 7 b) Place a TEDBSession Component on the form c) Set the Sessiontype property to stRemote d) Fill out the properties for Remoteadress, username and passwort with the appropriate values. e) Set the property Sessionname to a valid value f) set the property "connected" to true and watch the taskmanager: 4k are added to the memory of the edbsrvr.exe task g) set the property "connected" to false: the memory consumption of edbsrvr.exe stays the same, the 4k are not released. h) repeating the steps f) and g) increases the memory consumption by 4k for each connection. 4k doesnt sound much but since our CGI Applications open and close sessions for each request - and we have about 25000 Requests per hour - it is a serious problem. It tried it on different Windows-Servers, with different Delphi 7 installations and also with the commandline server with the same result Can you reproduce it? Peter "Tim Young [Elevate Software]" <timyoung@elevatesoft.com> wrote: Peter, << EDBDatabase, EDBSession and EDBEngine are as components on the webmodule. The EDBquery is created at runtime and closed and destroyed after use. >> If you want to send me your code via email, I can check it out and see what the issue may be. -- Tim Young Elevate Software www.elevatesoft.com |
Sat, Jun 28 2008 12:42 PM | Permanent Link |
Tim Young [Elevate Software] Elevate Software, Inc. timyoung@elevatesoft.com | Peter,
<< I tried the default wodgenerator with the same result: 4 k memory loss per session. >> Are you running with the server UI present ? If so, then turn it off via this .INI switch: No User Interface = 1; in the edbsrvr.ini file here: C:\Documents and Settings\All Users\Application Data\Elevate Software\ElevateDB Server The issue is the list view being used for the interface. It's not leaking memory, but Windows does take its good 'ole sweet time reclaiming it. You can force it to reclaim the memory by minimizing the server UI, but that doesn't really help for CGI applications. I'm going to be separating out the server UI from the server itself shortly, so this will cease to be an issue. But, for now the No User Interface switch does the same thing. -- Tim Young Elevate Software www.elevatesoft.com |
Page 1 of 3 | Next Page » | |
Jump to Page: 1 2 3 |
This web page was last updated on Sunday, May 5, 2024 at 10:18 AM | Privacy PolicySite Map © 2024 Elevate Software, Inc. All Rights Reserved Questions or comments ? E-mail us at info@elevatesoft.com |