Why is my image so HUGE!!!

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
5 messages Options
Reply | Threaded
Open this post in threaded view
|

Why is my image so HUGE!!!

Dino Rosati
I've been porting some code to Dolphin 4.
My compressed change log file is 1,063KB , this is all code added to a clean
image.
The image file is now 14,103KB !!! (up from 4,439KB for a clean image).

What could be taking up so much room?
Is there anyway to generate a report on memory usage?

I have tried to get Lagoon to generate the exe for the HelloWord app but it
keeps crashing.
Can this cause the image to grow out of control?


Reply | Threaded
Open this post in threaded view
|

Re: Why is my image so HUGE!!!

Bill Schwab-2
> I've been porting some code to Dolphin 4.
> My compressed change log file is 1,063KB , this is all code added to a
clean
> image.
> The image file is now 14,103KB !!! (up from 4,439KB for a clean image).

You might have zombie views causing problems; among other things, they can
hold large nets of otherwise garbage objects.  The "scream" button on the
system view might help you - save the contents of any workspaces first.

Another thing that comes to mind is Ian's profiler: it can capture a lot of
data; you might try deleting sample sets if you use it.


> I have tried to get Lagoon to generate the exe for the HelloWord app but
it
> keeps crashing.
> Can this cause the image to grow out of control?

First, never save a partially deployed image.  If Lagoon gets into trouble,
quit w/o saving.  With that public service announcement out of the way, my
hunch is that Lagoon is crashing because of another problem that's bloating
your image.  However, you can perhaps find out by enabling the crash dump on
your machine; then Lagoon should be able to give you some idea of what's
wrong.  You can also enable Lagoon's logging to see what it is doing before
the crash.

Have a good one,

Bill

--
Wilhelm K. Schwab, Ph.D.
[hidden email]


Reply | Threaded
Open this post in threaded view
|

Re: Why is my image so HUGE!!!

Blair McGlashan
In reply to this post by Dino Rosati
Dino

You wrote in message news:HsaS7.23425$[hidden email]...
> I've been porting some code to Dolphin 4.
> My compressed change log file is 1,063KB , this is all code added to a
clean
> image.
> The image file is now 14,103KB !!! (up from 4,439KB for a clean image).
>
> What could be taking up so much room?
> Is there anyway to generate a report on memory usage?
>
> I have tried to get Lagoon to generate the exe for the HelloWord app but
it
> keeps crashing.
> Can this cause the image to grow out of control?

No.

It is possible to clean up an image containing a lot of garbage. Bill's
suggestions are helpful, but if they don't work then you will need to track
down the "global" references that are preventing the garbage collector from
reclaiming the space. This can be a tedious business involving the use of
the #allInstances and #allReferences messages to track down the culprit.
Use of #allInstances will help you to find the classes of which there are a
lot of instances you aren't expecting. #allReferences can then be applied to
trace paths to roots, but it is time consuming and requires some experience
to try and locate the problem objects. If you have the Refactoring Browser
installed then it is much easier to you use the ReferenceFinder to trace
paths to the roots which are holding up a large net of objects. The
ReferenceFinder can be slow, but it is very effective when one has gained a
little experience with it.

If a "panic" doesn't work I would suggest that you package up your work
(best done as you go along if you haven't done it already), and save it out
as a .PAC(s)/.PAX(s). The package or packages form the definition of your
program. You must save everything need to recreate the "program" in the
package, including any expression evaluations that are needed, the package
scripts being one place for these, or class side initialize messages. Then
backup your old image, and install your package(s) into a clean image and
test/deploy. If you miss any bits you can retrieve them from the backup of
the old image.

Regards

Blair


Reply | Threaded
Open this post in threaded view
|

Re: Why is my image so HUGE!!!

Dino Rosati
> If a "panic" doesn't work I would suggest that you package up your work
> (best done as you go along if you haven't done it already), and save it
out
> as a .PAC(s)/.PAX(s). The package or packages form the definition of your
> program. You must save everything need to recreate the "program" in the
> package, including any expression evaluations that are needed, the package
> scripts being one place for these, or class side initialize messages. Then
> backup your old image, and install your package(s) into a clean image and
> test/deploy. If you miss any bits you can retrieve them from the backup of
> the old image.

The panic button didn't work so I'll reinstall all my packages (not looking
forward to that) into a clean image and try to keep an eye on the image size
as I go along.

Thanks for the suggestion.


Reply | Threaded
Open this post in threaded view
|

Re: Why is my image so HUGE!!!

John Lang
Just a thought...perhaps you assigned your work to global variables at one
point and then forgot about them? These become part of the image. If this is
possible, they will show up as keys when you inspect Smalltalk itself, the
SystemDictionary. - John Lang

"Dino Rosati" <[hidden email]> wrote in message
news:mlqS7.26858$[hidden email]...
>
>
> > If a "panic" doesn't work I would suggest that you package up your work
> > (best done as you go along if you haven't done it already), and save it
> out
> > as a .PAC(s)/.PAX(s). The package or packages form the definition of
your
> > program. You must save everything need to recreate the "program" in the
> > package, including any expression evaluations that are needed, the
package
> > scripts being one place for these, or class side initialize messages.
Then
> > backup your old image, and install your package(s) into a clean image
and
> > test/deploy. If you miss any bits you can retrieve them from the backup
of
> > the old image.
>
> The panic button didn't work so I'll reinstall all my packages (not
looking
> forward to that) into a clean image and try to keep an eye on the image
size
> as I go along.
>
> Thanks for the suggestion.
>
>