Bonjour,
Nous avons une application conçu sur la base de XMLRAD. Nous constatons une consommation de mémoire récurrente qui nous oblige à relancer l'application toutes les deux heures.
Après investigation et revue de code, nous nous sommes aperçus que la consommation de mémoire aller de paire avec le nombre de XMLCursor et la taille du « Limbo » qui grandi. En allant plus loin, nous avons identifié que ce sont principalement des XMLCursor de type « OutputDoc » créés par la fonction TXMLService.CreateDocument qui sont conservés (en dizaine de milliers), voir la trace ci-après.
Une personne sait-elle dans quelle structure sont conservés ces XMLCursor ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 01/09/2009 09:39:29 [$11475F20]<289882160>(0000000009) - Age(140,2070325279) - OutputDoc 0 : [$02780AD8] ..\..\..\XMLCLX\Source\XMLService.pas XMLService.CreateOutput(939) 1 : [$02781813] ..\..\..\XMLCLX\Source\XMLService.pas XMLService.TXMLService.CreateDocument(1092) 2 : [$02782126] ..\..\..\XMLCLX\Source\XMLService.pas XMLService.TXMLService.CreateContent(1275) 3 : [$02784C22] ..\..\..\XMLCLX\Source\XMLService.pas XMLService.TXMLService.Execute(1887) 4 : [$027776E1] ..\..\..\XMLCLX\Source\XMLComponent.pas XMLComponent.TCustomXMLComponent.Execute(555) 5 : [$0274A018] ..\..\..\XMLCLX\Source\XMLApp.pas XMLApp.ExecuteActionComponent(1475) 6 : [$0276B490] ..\..\..\XMLCLX\Source\XMLApp.pas XMLApp.TXMLApplication.XMLCollectionDispatchRequest(9125) 7 : [$02755BAC] ..\..\..\XMLCLX\Source\XMLApp.pas XMLApp.TXMLApplication.GetAvailableXMLCollectionAndDispatchRequest(4416) 8 : [$0275A3D2] ..\..\..\XMLCLX\Source\XMLApp.pas XMLApp.InternalGlobalDispatchRequest(5353) 9 : [$0275AA8D] ..\..\..\XMLCLX\Source\XMLApp.pas XMLApp.TXMLApplication.InternalDispatchRequest(5416) 10 : [$02747DF7] ..\..\..\XMLCLX\Source\XMLApp.pas XMLApp.TXMLDispatchThread.Execute(873) 11 : [$025CBB0F] common\Classes.pas Classes.ThreadProc(9877) 12 : [$025A5512] C:\builds\Tp\rtl\sys\system.pas System.ThreadWrapper(12108)
Nous voudrions pouvoir les libérer pour nous éviter de devoir relancer notre application et voir aussi nos performances décroitre.
Cordialement.
Partager