Sebastian,
Here is a reply from our chief technical guy: "The VM is attempting to reserve (not commit) virtual memory space for an object table large enough to hold 8 million objects. This allows the object table to grow. The fact that it is failing to do so suggests that there is insufficient _virtual memory_ available on the machine at the time. The VM compacts the OT on an image save by allocating a new one and copying over the occupied slots (the same is done by a compacting GC), and consequently for a short duration two OTs are allocated. Each OT requires 96Mb of virtual memory address space (each entry is 12 bytes). I don't think this has to be backed up with actual storage until it is committed. In fact each program should be able to use up to 2Gb of virtual address space. The only effect of reserving memory in terms of resource usage is the space required to maintain the page tables. I'm not entirely surprised this might happen on a 128Mb Win98 box - he might either be running too much stuff and have insufficient swap space, or (perhaps more likely) another program that is leaking one or other OS resource used to maintain virtual memory. Unfortunately one doesn't have the NT task manager available to make diagnosis easier, but there are probably tools available. This Wiki page explains how to increase the maximum OT size, but the same technique could be used to reduce it: http://www.object-arts.com/wiki/html/Dolphin/ImplementationLimits.htm (Of course he could have just evaluated: 'Object allSubinstances size' to get the number of objects)." I hope that helps. BTW, these sorts of question should really be posted to the Dolphin newsgroup (comp.lang.smalltalk.dolphin) so all our users can share in the replies. Best Regards, Andy Bower Dolphin Support http://www.object-arts.com --- Are you trying too hard? http://www.object-arts.com/Relax.htm --- ----- Original Message ----- From: Sebastian ____S____ To: [hidden email] Cc: Andres Shokida ; Marcelo Cortez Sent: Tuesday, September 04, 2001 6:13 PM Subject: Reporting situation Dear Andy, sometimes we experiment that a Dolphin image has a strange pathology. It can't save and pop ups a little dialog saying: "Unable to reserve memory for 8388608 objects Please reduce maximum OT size and restart. "Accept" " Then it crashes... We are working with Win98SE en espaƱol (spanish version) in a P3 800 MHz, 128MB RAM, 30 GB HD.. On this pathologic image (wihout saving) I have evaluated this: all := Object withAllSubclasses. objects := 0. all do:[ :class | objects := objects + (class allInstances size) ] then objects was: 201619 Happily we work with STS and version our packages, so we can "get up" quickly. Best regards, Sebastian [hidden email] [hidden email] ICQ#4610044 |
Free forum by Nabble | Edit this page |