If I run the following script:

for {set i 0} {$i<100000} {incr i} {
 lappend temp [list one two three four five six seven eight nine]
}
ns_return 200 text/plain [string bytelength $temp]

memory usage soars but is not reclaimed by Aolserver.

I've tested this on Aolserver3.5.6 TCL 8.4.3 and Aolserver4 beta 10 TCL
8.4.4
Platform:FreeBSD 5.1-RELEASE

top shows
PID   USERNAME PRI NICE   SIZE    RES  STATE   TIME   WCPU    CPU COMMAND
67566 nsadmin    2   0   35656K 32996K poll    8:16   0.00%  0.00% nsd

If I restart nsd and change the script to use append instead of lappend
Aolserver reclaimes memory and the nsd process shrinks after execution.
The same is true if the list is not nested.

I thought this might be a problem with TCL but when I run the following
script from a shell, memory is reclaimed after the variable was unset.

for {set i 0} {$i<100000} {incr i} {
    append temp [list one two three four five six seven eight nine ten]
}
puts [string bytelength $temp]
after 10000
unset temp
puts Unset
after 10000
puts Exit

I have one production server that has to be restarted every few weeks
because memory consumption slowly grows. I would be grateful if anyone
could tell me whether they can reproduce the problem or suggest a
solution.

Many thanks

Bernhard van Woerden


--
AOLserver - http://www.aolserver.com/

To Remove yourself from this list, simply send an email to <[EMAIL PROTECTED]> with the
body of "SIGNOFF AOLSERVER" in the email message. You can leave the Subject: field of 
your email blank.

Reply via email to