axiom-developer
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Axiom-developer] Memory leak in Axiom : mistake


From: Ralf Hemmecke
Subject: Re: [Axiom-developer] Memory leak in Axiom : mistake
Date: Wed, 22 Jun 2005 14:00:37 +0200
User-agent: Mozilla Thunderbird 1.0 (X11/20041206)

OK, let's do it again.

%axiom

  PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND
27271 hemmecke  16   0 44072 8492 3016 S  0.0  1.7   0:00.13 AXIOMsys

a:=new(1000,1000,0.0)$Matrix(SF);
b:=new(1001,1001,0.0)$Matrix(SF);

27271 hemmecke  17   0 44116  21m 3060 S  0.0  4.3   0:00.33 AXIOMsys

)undo -2
27271 hemmecke  16   0 44116  21m 3088 S  0.0  4.3   0:00.33 AXIOMsys

)lisp (gbc 3)
27271 hemmecke  17   0 44116  25m 3088 S  0.0  5.2   0:00.40 AXIOMsys

That is funny. Why does AXIOMsys now use even more space???

Ralf

Vanuxem Grégory wrote:
Hi,

Le mercredi 22 juin 2005 à 06:01 -0400, Page, Bill a écrit :

On Wednesday, June 22, 2005 4:56 AM Ralf Hemmecke wrote:


Well, there is something else. How is Axiom supposed to behave in the
following case? (See axiom--main--1--patch-40/mnt/linux/doc/book.dvi
Section 1.15.1)


Thanks for this information, I have to write a script that records my
history and restore my variables.


--start axiom
top:
  PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND
17381 hemmecke  16   0 44072 8492 3016 S  0.0  1.7   0:00.12 AXIOMsys

a:=new(1000,1000,0.0)$Matrix(SF);
b:=new(1001,1001,0.0)$Matrix(SF);

Now top says
17381 hemmecke  17   0 44116  21m 3060 S  0.0  4.3   0:00.34 AXIOMsys

)undo -2

And top says
17381 hemmecke  16   0 44116  21m 3088 S  0.0  4.3   0:00.34 AXIOMsys

I understand that due to %% and )undo previous results must be cached,
but why doesn't )undo release memory? Do I read the values of the top
command incorrectly?

Don't forget that Axiom runs as a lisp application (GCL). This means
memory allocation is dynamic and that memory usage can be affected by
when lisp decides to do garbage collection. You can force GCL to do
garbage collection and return unused memory. Try using the command:

 )lisp (gbc 3)

after the )undo -2

On my Windows version of Axiom this returns some memory to the operating
system. I don't have the linux version here right now to try this.
Please let me know what you get.


No memory released.
A new matrix allocation re-increase used memory.


Cheers,


Greg


Regards,
Bill Page.








reply via email to

[Prev in Thread] Current Thread [Next in Thread]