At 12:30 PM 7/28/2009 -0700, Jan Dubois wrote: >It is also not clear to me if you were looking at physical or >virtual memory allocation. In some ways it doesn't make sense >to obsess about returning memory to the OS too much: if you don't >use it anymore, it will just get paged out to disk. And other >processes have their own virtual memory anyways.
Sergei's test script showed the physical and virtual usage dropping after thread joining. In my situation (Solaris, ActivePerl) I believe the problem was exceeding some 32 bit resource limit. It was a 100 thread 2GB of memory monster that ran for several days. I had to reduce the thread usage to 60 even after adding the multiprocess component to keep it from crashing with resource messages. The problem was that individual threads would occasionally need very large memory spaces. Once they were done and moved on to smaller tasks, the memory would never be made available to other threads. So once enough threads had run across large memory tasks, the whole process would crash. So when ur obstacle is resource limits, regaining memory is critical. -- REMEMBER THE WORLD TRADE CENTER ---=< WTC 911 >=-- "...ne cede malis" 00000100 _______________________________________________ Perl-Win32-Users mailing list Perl-Win32-Users@listserv.ActiveState.com To unsubscribe: http://listserv.ActiveState.com/mailman/mysubs