hurlimann wrote:
Whether it gives a possibility to make the garbage collector manually by programm an not automatic?
Patrik wrote:
You have two options:
1. disable and enable the GC by hand (this could kill the system, if you use a lot of memory) 2. allocate a memory block (with SYSTEM.NEW) and do whatever you want with its contents
You should only use untraced pointers in this block. Using normal pointers could (and probably will) crash the GC.
Me too ! Because of crisis management here, my work-horse is loaded down: 10 days since I rebooted, and hundreds of e-mails, News, https have passed through (some are still 'packed' as viewers waiting to be filed). Now sometime a mouse or key response delay of half a second occurs. I'm guessing that 'forced' GC is often causing the delay ? Is the heap off-on loaded to/from the hard drive ? I think the RAM is only 20 Mb. I did HyperDocs.ClearCache with no noticable improvement. Perhaps unloading unused modules ? Or is this done automatically ? -- Chris Glur.
<Chris Glur> wrote: [...]
10 days since I rebooted, and hundreds of e-mails, News, https have passed through (some are still 'packed' as viewers waiting to be filed). Now sometime a mouse or key response delay of half a second occurs.
I'm guessing that 'forced' GC is often causing the delay ?
This is possible. System.Collect forces a collection: try if this command causes the delay.
Is the heap off-on loaded to/from the hard drive ?
No, Oberon does not use demand paging. The system only uses the RAM installed, nothing more.
I think the RAM is only 20 Mb. I did HyperDocs.ClearCache with no noticable improvement.
This only clears the cache containing the last viewed html pages. These are stored on disk (as far as I remember). The GC takes time because it has to traverse all structures allocated in memory.
Perhaps unloading unused modules ?
This is possible, but be careful to unload them correctly. If a module installs some procedures in other modules, you first have to deinstall them or you will get a trap next time they are called (this is a known limitation of the garbage collector, which does not traverse procedure pointers).
Or is this done automatically ?
No. Modules are never unloaded by the system. -Patrik
Now sometime a mouse or key response delay of half a second occurs.
I'm guessing that 'forced' GC is often causing the delay ? Yes. Probably the Heap has become fragmented
Is the heap off-on loaded to/from the hard drive ? No, this is not done.
I think the RAM is only 20 Mb. I did HyperDocs.ClearCache with no noticable improvement. Perhaps unloading unused modules ? May help a little.
Or is this done automatically ? No. It can not be done automatically since the modules may contain a state that is used later again. (--> Commands)
--Thomas
participants (3)
-
eas-lab@absamail.co.za -
Patrik Reali -
Thomas Frey