![]() |
Telelogic DOORS (steve huntington) | ![]() |
new topic :
profile :
search :
help :
dashboard :
calendar :
home
|
||
Latest News:
|
|
Topic Title: Closing DOORS when script is done Topic Summary: Created On: 18-May-2004 18:06 Status: Post and Reply |
Linear : Threading : Single : Branch |
![]() |
![]()
|
![]() |
|
We are looking for a way to close DOORS completely when a script is done. Is this possible? With closing DOORS I mean closing the module from which the script is called, but also the entire DOORS application. Why? Because we have the impression that DOORS does not clean up memory after processing. We notice this when we run some dxl scripts that treat say all 5000 objects in a module. During the processing, the memory usage (under Windows XP on the client) is steadily increasing. If the level of memory usage does not reach certain limitations, the script terminates normally (else the client crashes - see below). When the module is closed, the memory usage in Windows are not restored to the level before the script was launched. When you close DOORS, then the memory is released (going from say 1 GB to 200 MB, depending on other running applications).
We want to close DOORS to work around this apparent memory problem, because heavy treatments on large modules tend to bog down and crash our Citrix server, which we use as workhorse for such jobs. It has 1 GB physical memory. The idea is then to run a batch operation where the original script is treated in sections. Are the command line switches (for batch processing) suitable to close DOORS after script termination? Does anyone out there recognise our observations on DOORS memory usage, which BTW we think has became worse under DOORS7? Any ideas are welcome! ------------------------- Pieter de Waard www.nhindustries.com Edited: 18-May-2004 at 18:08 by Pieter DE WAARD |
|
![]() |
|
![]() |
|
You can close DOORS in batch mode by calling exit_().
------------------------- Tony Goodman http://www.smartdxl.com |
|
![]() |
|
![]() |
|
A couple of things to check:
1. Are you emptying and deleting buffers/skip lists/arrays after use? If you're not, DOORS will hold onto the memory allocated to them until it closes, which could easily account for the symptoms you're seeing. Closing DOORS after running the script is a pretty drastic way of fixing a basic coding issue. 2. Are you using strings where you could be using buffers? I think I remember reading somewhere that string storage space doesn't get deallocated properly when you do string manipulation -- or maybe it's just that string manipulation is clunky compared with buffer manipulation. Either way, try using buffers instead of strings where you can. But remember to delete the buffer after use. Hope that helps, Paul. ------------------------- Paul dot Tiplady at TRW dot com TRW Automotive |
|
![]() |
|
![]() |
|
If memory use grows a bunch but does NOT release after the DXL is finished then you have significant DXL ineffeciencies. See Tiplady's post and there is also advice in Telelogic Support somewhere. A main loss of memory is in string ConCatenations.
And even if you DO get that undercontrol you STILL have a problem since DXL, it appears to my ignorance, does a poor job of garbage collection: the longer you run (specifically the more DXL you run) the slower it gets even if memory use doesn't increase. I suspect the used "free" memory is all chunked up and the search-for-free-memory algorithm doesn't work well. So in any case you WANT to exit DOORS fairly often when running lots of programs. - Louie |
|
![]() |
Telelogic DOORS
» DXL Exchange
»
Closing DOORS when script is done
|
![]() |
FuseTalk Standard Edition v3.2 - © 1999-2009 FuseTalk Inc. All rights reserved.