[Mono-list] Heap-Shot with no GUI.
hyber at hyber.dk
Fri Nov 19 07:31:24 EST 2010
Den 18-11-2010 20:45, Paolo Molaro skrev:
> On 11/18/10 Esben Laursen wrote:
>> Allocation summary
>> Bytes Count Average Type name
>> 378194872 83939 4505 System.Byte
>> It looks like its the "System.Byte" type where I have my leak. However
>> is there someway that I can see what methos or class that is originates
>> from? I use Bytes several places, but I cannot seem to find the place,
>> as I only use them inside methods that should be destroyed my GC when it
>> has finished.
> You have an allocation summary, so you can see where the arrays were
> allocated with:
> mprof-report --traces output.mlpd
Thanks for all your help... I get this output..
Mono log profiler data
Profiler version: 0.2
Data version: 3
Mean timer overhead: 2626 nanoseconds
Program startup: Thu Nov 18 14:27:22 2010
Program ID: 4938
GC resizes: 0
Max heap size: 0
Object moves: 283899
Gen0 collections: 83, max time: 20374us, total time: 669028us,
Gen1 collections: 35, max time: 123462us, total time:
1354130us, average: 38689us
Bytes Count Average Type name
582718568 98056 5942 System.Byte
557328000 bytes from:
The way I read the info is that my "ClientRun.ProcessCombinedModules"
invokes the "ClientRun.GetSshData" that invokes
SshControl.SendAndReturnData and so on..
My pam.SshControl.GetData invokes TElSimpleSSHClient:ReceiveText many
times to check if there are data comming back. So as I understand it its
in the "SBSimpleSSH.TElSimpleSSHClient:ReceiveText" that does not clear
a Byte array.. The reason I am a little puzled about this is that the
"ClientRun" class runs every 5 minutes (it has a timer), but just before
it starts it sets "SshControl=null" and then later it creates a new
instance, so even if the "ReveiveText" method did not clear the Byte
array then it should be destroyed by the GC right?
Or am I reading the output wrong?
More information about the Mono-list