From: Robert M. <rob...@us...> - 2007-05-06 21:36:00
|
Waldemar Biernacki wrote: > Hi! > Now I've got another problem. Memory one. [ Please start a new eamil, with an appropriate subject line for a new problem ] {edited] > Here is an application ... > After I create 10 windows Windows Task Menager reads that perl > is using 6704K memory (I use WinXPHE sp2). > after a while then amount of used memory will rise. How long is a while? I see no problem (win98, win2k, perl 5.8.8 AS build 819, Win32::GUI v1.05) after 15 minutes. > Meantime I am writing the email after about 20 arrows I have 6752K > memory.... next - after running some other programs - I have 6800K now > (100K more and this a very simple application!). Now I have 6820K > hmmm... where is the end? > It seems to be connected with other processes/programs when they > startet or ended (6860K). > Could someone help me and answer the questions: > 1. has attached application errors (what) > 2. Is that memory problem normal feature in perl (maybe perl problems > with OO programming?) > 3. Maybe it's connected only with Perl/Windows? > 4. Or maybe Perl modules are dirty written? > any comments are very usefull! > ps.I'm finishing writing with the value of 2896K... 2896K is much less than the 6800K you reported earlier in this mail, so that doesn't look like a memory leak to me. My suspicion is that you are reading the 'Memory Usage' column in task manager? If so then that is the amount of your application that is currently in physical memory [1], and that value will vary depending on what memory demands other applications have. Typically it will go down if your application is not doing anything and other applications need memory, and then will go up again as you start to use your application again. If you want to look for leaks then a better metric is the 'Peak Mem Usage' column, which can be made visible from one of the menus in task manager. Finally, you don't say which version of Win32::GUI you are using, but if it is not 1.05, then there may well be leaks that have been fixed by later versions. Regards, Rob. [1] Actually the process' 'working set'. |