Ciao,
i have a Pharo 7.0 alpha build 1262. I development a Seaside application. The size of the image keeps increasing, without an apparent reason. Starting from 94 MB, now after rebooting and save the image the relative size is 252 MB. How can I understand what is happening? How can I analyze the data to understand who is occupying more and more space? The other day the system generated a warning that in practice said that there was no more space and that image had to be started with a particular value. Some considerations ? Thanks, Dario |
May be you have a lot of still open Seaside session, which if I remember
correctly are automatically shutdown after 10 min when not active. Looking at Seaside session instances may give clue. Hilaire Le 16/02/2019 à 13:18, Trussardi Dario Romano a écrit : > Starting from 94 MB, now after rebooting and save the image the relative size is 252 MB. > > How can I understand what is happening? -- Dr. Geo http://drgeo.eu |
Ciao,
thanks Hilaire. > May be you have a lot of still open Seaside session, which if I remember > correctly are automatically shutdown after 10 min when not active. > > Looking at Seaside session instances may give clue. OK, but it is possible to have a report on the state of employment related to each class? className Instances Memory ClassA 222 1MB ClassB 11 128Byte ecc..... Thanks, Dario > > Hilaire > > > Le 16/02/2019 à 13:18, Trussardi Dario Romano a écrit : >> Starting from 94 MB, now after rebooting and save the image the relative size is 252 MB. >> >> How can I understand what is happening? > > -- > Dr. Geo > http://drgeo.eu > > > |
Sure that exists:
SpaceTally printSpaceAnalysis will generate a file with all the data. But it probably won't be that easy to interpret. > On 17 Feb 2019, at 18:38, Trussardi Dario Romano <[hidden email]> wrote: > > Ciao, > > thanks Hilaire. > >> May be you have a lot of still open Seaside session, which if I remember >> correctly are automatically shutdown after 10 min when not active. >> >> Looking at Seaside session instances may give clue. > > OK, > > but it is possible to have a report on the state of employment related to each class? > > className Instances Memory > > ClassA 222 1MB > ClassB 11 128Byte > ecc..... > > Thanks, > > Dario >> >> Hilaire >> >> >> Le 16/02/2019 à 13:18, Trussardi Dario Romano a écrit : >>> Starting from 94 MB, now after rebooting and save the image the relative size is 252 MB. >>> >>> How can I understand what is happening? >> >> -- >> Dr. Geo >> http://drgeo.eu >> >> >> > > |
In reply to this post by HilaireFernandes
Ciao,
thanks. i have a Pharo 7.0 alpha build 1262. I development a Seaside application. > May be you have a lot of still open Seaside session, which if I remember > correctly are automatically shutdown after 10 min when not active. > > Looking at Seaside session instances may give clue. OK, i clear the seaside session with the relative seaside status Clear action. But the image size keeps increasing, without an apparent reason. The consideration that I can do and that in the method code i often use Transcript show: '.....NETWORK | CASH | .....' to check the correct functioning. With the SpaceTally printSpaceAnalysis i note: as of February 16th: Class code space # in stances inst space percent inst average size Array 4115 656764 43904528 23.30 66.85 ByteString 2942 233871 27527272 14.60 117.70 as of March 4th Class code space # instances inst space percent inst average size Array 4115 837017 50564552 23.40 60.41 ByteString 2942 266620 31933216 14.80 119.77 Now i do: ByteString allInstances select:[ :i | i includesSubstring: 'NETWORK' ] where 'NETWORK' is a string used in the Transcript show: ...... NETWORK' ......' report entry. The system found 3214 ByteString instances.... ( relative to the NETWORK ) The system found 22650 ByteString instances.... ( relative to the CASH ) The system found .............. Because ????? Does the system remember something about the string create for the Transcript show: entry ? I need to reset something? How can I analyze the situation? I follow some aByteString entry with the pointersTo method but for now I have not found the solution. Thanks, Dario |
Ciao,
I thought that using Transcript as a report to analyze the operation of the code was a good thing - solution. Unfortunately, however, the size of the image continues to increase ( and I think it's due to the use of the transcript ) and i can not find the solution to avoid the problem. I could create a file to report everything about the operations code, but then it becomes difficult to manage, or am i wrong? Other solutions - indications - references ? Thanks, Dario > Ciao, > > thanks. > > i have a Pharo 7.0 alpha build 1262. > > I development a Seaside application. > >> May be you have a lot of still open Seaside session, which if I remember >> correctly are automatically shutdown after 10 min when not active. >> >> Looking at Seaside session instances may give clue. > > OK, i clear the seaside session with the relative seaside status Clear action. > > > > But the image size keeps increasing, without an apparent reason. > > The consideration that I can do and that in the method code i often use Transcript show: '.....NETWORK | CASH | .....' to check the correct functioning. > > With the SpaceTally printSpaceAnalysis i note: > > as of February 16th: > > Class code space # in stances inst space percent inst average size > Array 4115 656764 43904528 23.30 66.85 > ByteString 2942 233871 27527272 14.60 117.70 > > > as of March 4th > Class code space # instances inst space percent inst average size > Array 4115 837017 50564552 23.40 60.41 > ByteString 2942 266620 31933216 14.80 119.77 > > Now i do: > > ByteString allInstances select:[ :i | i includesSubstring: 'NETWORK' ] > > where 'NETWORK' is a string used in the Transcript show: ...... NETWORK' ......' report entry. > > > The system found 3214 ByteString instances.... ( relative to the NETWORK ) > > The system found 22650 ByteString instances.... ( relative to the CASH ) > > The system found .............. > > > Because ????? > > > Does the system remember something about the string create for the Transcript show: entry ? > > I need to reset something? > > How can I analyze the situation? > > I follow some aByteString entry with the pointersTo method > > but for now I have not found the solution. > > > > Thanks, > > Dario > > |
Ciao,
this morning i started with an image of about 240 MB. I have 3 System Browser open ( for a long time ). I close all the System Browser and save the image. The image size after the save is about 131 MB. The new SpaceTally printSpaceAnalysis report: Class code space # instances inst space percent inst average size Array 4115 561766 37353480 25.60 66.49 ByteString 2942 249761 31313136 21.50 125.37 The Transcript entry reference basically does not change: ByteString allInstances select:[ :i | i includesSubstring: 'NETWORK' ] where 'NETWORK' is a string used in the methods to add Transcript entry Transcript show: ...... NETWORK' ......' . The system found 2958 ByteString instances.... ( relative to the NETWORK ) The system found 22655 ByteString instances.... ( relative to the CASH ) Why are there many references in the system to the ByteString instances, created in the methods to report the data in Transcript ? Someone to considerations ? Thanks, Dario > Ciao, > > I thought that using Transcript as a report to analyze the operation of the code was a good thing - solution. > > Unfortunately, however, the size of the image continues to increase ( and I think it's due to the use of the transcript ) > > and i can not find the solution to avoid the problem. > > I could create a file to report everything about the operations code, but then it becomes difficult to manage, or am i wrong? > > Other solutions - indications - references ? > > Thanks, > > Dario > >> Ciao, >> >> thanks. >> >> i have a Pharo 7.0 alpha build 1262. >> >> I development a Seaside application. >> >>> May be you have a lot of still open Seaside session, which if I remember >>> correctly are automatically shutdown after 10 min when not active. >>> >>> Looking at Seaside session instances may give clue. >> >> OK, i clear the seaside session with the relative seaside status Clear action. >> >> >> >> But the image size keeps increasing, without an apparent reason. >> >> The consideration that I can do and that in the method code i often use Transcript show: '.....NETWORK | CASH | .....' to check the correct functioning. >> >> With the SpaceTally printSpaceAnalysis i note: >> >> as of February 16th: >> >> Class code space # in stances inst space percent inst average size >> Array 4115 656764 43904528 23.30 66.85 >> ByteString 2942 233871 27527272 14.60 117.70 >> >> >> as of March 4th >> Class code space # instances inst space percent inst average size >> Array 4115 837017 50564552 23.40 60.41 >> ByteString 2942 266620 31933216 14.80 119.77 >> >> Now i do: >> >> ByteString allInstances select:[ :i | i includesSubstring: 'NETWORK' ] >> >> where 'NETWORK' is a string used in the Transcript show: ...... NETWORK' ......' report entry. >> >> >> The system found 3214 ByteString instances.... ( relative to the NETWORK ) >> >> The system found 22650 ByteString instances.... ( relative to the CASH ) >> >> The system found .............. >> >> >> Because ????? >> >> >> Does the system remember something about the string create for the Transcript show: entry ? >> >> I need to reset something? >> >> How can I analyze the situation? >> >> I follow some aByteString entry with the pointersTo method >> >> but for now I have not found the solution. >> >> >> >> Thanks, >> >> Dario >> >> > > |
In reply to this post by dario trussardi
Ciao,
this morning i started with an image of about 240 MB. I have 3 System Browser open ( for a long time ). I close all the System Browser and save the image. The image size after the save is about 131 MB. The new SpaceTally printSpaceAnalysis report: Class code space # instances inst space percent inst average size Array 4115 561766 37353480 25.60 66.49 ByteString 2942 249761 31313136 21.50 125.37 The Transcript entry reference basically does not change: ByteString allInstances select:[ :i | i includesSubstring: 'NETWORK' ] where 'NETWORK' is a string used in the methods to add Transcript entry Transcript show: ...... NETWORK' ......' . The system found 2958 ByteString instances.... ( relative to the NETWORK ) The system found 22655 ByteString instances.... ( relative to the CASH ) Why are there many references in the system to the ByteString instances, created in the methods to report the data in Transcript ? Someone to considerations ? Thanks, Dario > Ciao, > > I thought that using Transcript as a report to analyze the operation of the code was a good thing - solution. > > Unfortunately, however, the size of the image continues to increase ( and I think it's due to the use of the transcript ) > > and i can not find the solution to avoid the problem. > > I could create a file to report everything about the operations code, but then it becomes difficult to manage, or am i wrong? > > Other solutions - indications - references ? > > Thanks, > > Dario > >> Ciao, >> >> thanks. >> >> i have a Pharo 7.0 alpha build 1262. >> >> I development a Seaside application. >> >>> May be you have a lot of still open Seaside session, which if I remember >>> correctly are automatically shutdown after 10 min when not active. >>> >>> Looking at Seaside session instances may give clue. >> >> OK, i clear the seaside session with the relative seaside status Clear action. >> >> >> >> But the image size keeps increasing, without an apparent reason. >> >> The consideration that I can do and that in the method code i often use Transcript show: '.....NETWORK | CASH | .....' to check the correct functioning. >> >> With the SpaceTally printSpaceAnalysis i note: >> >> as of February 16th: >> >> Class code space # in stances inst space percent inst average size >> Array 4115 656764 43904528 23.30 66.85 >> ByteString 2942 233871 27527272 14.60 117.70 >> >> >> as of March 4th >> Class code space # instances inst space percent inst average size >> Array 4115 837017 50564552 23.40 60.41 >> ByteString 2942 266620 31933216 14.80 119.77 >> >> Now i do: >> >> ByteString allInstances select:[ :i | i includesSubstring: 'NETWORK' ] >> >> where 'NETWORK' is a string used in the Transcript show: ...... NETWORK' ......' report entry. >> >> >> The system found 3214 ByteString instances.... ( relative to the NETWORK ) >> >> The system found 22650 ByteString instances.... ( relative to the CASH ) >> >> The system found .............. >> >> >> Because ????? >> >> >> Does the system remember something about the string create for the Transcript show: entry ? >> >> I need to reset something? >> >> How can I analyze the situation? >> >> I follow some aByteString entry with the pointersTo method >> >> but for now I have not found the solution. >> >> >> >> Thanks, >> >> Dario >> >> > > |
Hi,
Beside the browser windows, did you close all Transcript windows? Hilaire Le 08/03/2019 à 11:59, Trussardi Dario Romano a écrit : > Ciao, > > this morning i started with an image of about 240 MB. > > I have 3 System Browser open ( for a long time ). -- Dr. Geo http://drgeo.eu |
In reply to this post by dario trussardi
Hi,
I am confused by what you are reporting. If you add 10.000 entries to the Transcript, then I don't see how that results in 1000s of those Strings being alive (and certainly not after a GC). I tried the following (both with the Transcript window open and closed): Transcript. Transcript open. Transcript clear. 1 to: 1e4 do: [ :each | Transcript crShow: DateAndTime now asString , ' MARKTEST ' , each asString ]. 3 timesRepeat: [ Smalltalk garbageCollect ]. [ | count | count := 0. String allSubInstancesDo: [ :each | (each includesSubstring: 'MARKTEST') ifTrue: [ count := count + 1 ] ]. count ] value. The count never went above 100. I am using Pharo 8 but 7 would be similar. If you are retaining so many of the messages that you wrote to the Transcript, then you must be doing something else. That being said, we do have an issue with the WriteStream held by the stream instance variable inside ThreadSafeTranscript. It is being reset from time to time and when #clear is called, but that does not bring down the size of the underlying collection below its 'one time peak'. Sven > On 8 Mar 2019, at 11:59, Trussardi Dario Romano <[hidden email]> wrote: > > Ciao, > > this morning i started with an image of about 240 MB. > > I have 3 System Browser open ( for a long time ). > > I close all the System Browser and save the image. > > The image size after the save is about 131 MB. > > The new SpaceTally printSpaceAnalysis report: > > Class code space # instances inst space percent inst average size > Array 4115 561766 37353480 25.60 66.49 > ByteString 2942 249761 31313136 21.50 125.37 > > > The Transcript entry reference basically does not change: > > ByteString allInstances select:[ :i | i includesSubstring: 'NETWORK' ] > > where 'NETWORK' is a string used in the methods to add Transcript entry Transcript show: ...... NETWORK' ......' . > > > The system found 2958 ByteString instances.... ( relative to the NETWORK ) > > The system found 22655 ByteString instances.... ( relative to the CASH ) > > > Why are there many references in the system to the ByteString instances, created in the methods to report the data in Transcript ? > > Someone to considerations ? > > Thanks, > > Dario > >> Ciao, >> >> I thought that using Transcript as a report to analyze the operation of the code was a good thing - solution. >> >> Unfortunately, however, the size of the image continues to increase ( and I think it's due to the use of the transcript ) >> >> and i can not find the solution to avoid the problem. >> >> I could create a file to report everything about the operations code, but then it becomes difficult to manage, or am i wrong? >> >> Other solutions - indications - references ? >> >> Thanks, >> >> Dario >> >>> Ciao, >>> >>> thanks. >>> >>> i have a Pharo 7.0 alpha build 1262. >>> >>> I development a Seaside application. >>> >>>> May be you have a lot of still open Seaside session, which if I remember >>>> correctly are automatically shutdown after 10 min when not active. >>>> >>>> Looking at Seaside session instances may give clue. >>> >>> OK, i clear the seaside session with the relative seaside status Clear action. >>> >>> >>> >>> But the image size keeps increasing, without an apparent reason. >>> >>> The consideration that I can do and that in the method code i often use Transcript show: '.....NETWORK | CASH | .....' to check the correct functioning. >>> >>> With the SpaceTally printSpaceAnalysis i note: >>> >>> as of February 16th: >>> >>> Class code space # in stances inst space percent inst average size >>> Array 4115 656764 43904528 23.30 66.85 >>> ByteString 2942 233871 27527272 14.60 117.70 >>> >>> >>> as of March 4th >>> Class code space # instances inst space percent inst average size >>> Array 4115 837017 50564552 23.40 60.41 >>> ByteString 2942 266620 31933216 14.80 119.77 >>> >>> Now i do: >>> >>> ByteString allInstances select:[ :i | i includesSubstring: 'NETWORK' ] >>> >>> where 'NETWORK' is a string used in the Transcript show: ...... NETWORK' ......' report entry. >>> >>> >>> The system found 3214 ByteString instances.... ( relative to the NETWORK ) >>> >>> The system found 22650 ByteString instances.... ( relative to the CASH ) >>> >>> The system found .............. >>> >>> >>> Because ????? >>> >>> >>> Does the system remember something about the string create for the Transcript show: entry ? >>> >>> I need to reset something? >>> >>> How can I analyze the situation? >>> >>> I follow some aByteString entry with the pointersTo method >>> >>> but for now I have not found the solution. >>> >>> >>> >>> Thanks, >>> >>> Dario >>> >>> >> >> > > |
Ciao,
About Hilaire: > Beside the browser windows, did you close all Transcript windows? Yes. > Hi, > > I am confused by what you are reporting. I apologize, i'm trying to understand better. > > If you add 10.000 entries to the Transcript, then I don't see how that results in 1000s of those Strings being alive (and certainly not after a GC). > > I tried the following (both with the Transcript window open and closed): > > Transcript. > Transcript open. > Transcript clear. > > 1 to: 1e4 do: [ :each | > Transcript crShow: DateAndTime now asString , ' MARKTEST ' , each asString ]. > > 3 timesRepeat: [ Smalltalk garbageCollect ]. > > [ | count | > count := 0. > String allSubInstancesDo: [ :each | > (each includesSubstring: 'MARKTEST') ifTrue: [ count := count + 1 ] ]. > count ] value. I did some tests following the code you reported. The thing I noticed is that the image size after some entry, from 144MB is splashed at 272MB. +10 MB at each step: 1 to: 1e4 do: [ :each | Transcript crShow: DateAndTime now asString , ' MARKTEST ' , each asString ]. > > The count never went above 100. I am using Pharo 8 but 7 would be similar. > > If you are retaining so many of the messages that you wrote to the Transcript, then you must be doing something else. I haven't been able to document it for now, but I had the feeling that the following code creates problems: testImageSizeCreateTranscriptEntryB " Create some transcript entry " | count | count := 0. [ 1 to: 1e4 do:[ :each | [ Transcript crShow: DateAndTime now asString, ' DARIOTEST ', each asString. 1 / ( 0 to: 10 ) atRandom ] on: Error do:[ :ex | count := count +1. ex retry ] ] ]value. ^ count Could it be that the retry creates, has created problems? Thanks, Dario > > That being said, we do have an issue with the WriteStream held by the stream instance variable inside ThreadSafeTranscript. It is being reset from time to time and when #clear is called, but that does not bring down the size of the underlying collection below its 'one time peak'. > > Sven > >> On 8 Mar 2019, at 11:59, Trussardi Dario Romano <[hidden email]> wrote: >> >> Ciao, >> >> this morning i started with an image of about 240 MB. >> >> I have 3 System Browser open ( for a long time ). >> >> I close all the System Browser and save the image. >> >> The image size after the save is about 131 MB. >> >> The new SpaceTally printSpaceAnalysis report: >> >> Class code space # instances inst space percent inst average size >> Array 4115 561766 37353480 25.60 66.49 >> ByteString 2942 249761 31313136 21.50 125.37 >> >> >> The Transcript entry reference basically does not change: >> >> ByteString allInstances select:[ :i | i includesSubstring: 'NETWORK' ] >> >> where 'NETWORK' is a string used in the methods to add Transcript entry Transcript show: ...... NETWORK' ......' . >> >> >> The system found 2958 ByteString instances.... ( relative to the NETWORK ) >> >> The system found 22655 ByteString instances.... ( relative to the CASH ) >> >> >> Why are there many references in the system to the ByteString instances, created in the methods to report the data in Transcript ? >> >> Someone to considerations ? >> >> Thanks, >> >> Dario >> >>> Ciao, >>> >>> I thought that using Transcript as a report to analyze the operation of the code was a good thing - solution. >>> >>> Unfortunately, however, the size of the image continues to increase ( and I think it's due to the use of the transcript ) >>> >>> and i can not find the solution to avoid the problem. >>> >>> I could create a file to report everything about the operations code, but then it becomes difficult to manage, or am i wrong? >>> >>> Other solutions - indications - references ? >>> >>> Thanks, >>> >>> Dario >>> >>>> Ciao, >>>> >>>> thanks. >>>> >>>> i have a Pharo 7.0 alpha build 1262. >>>> >>>> I development a Seaside application. >>>> >>>>> May be you have a lot of still open Seaside session, which if I remember >>>>> correctly are automatically shutdown after 10 min when not active. >>>>> >>>>> Looking at Seaside session instances may give clue. >>>> >>>> OK, i clear the seaside session with the relative seaside status Clear action. >>>> >>>> >>>> >>>> But the image size keeps increasing, without an apparent reason. >>>> >>>> The consideration that I can do and that in the method code i often use Transcript show: '.....NETWORK | CASH | .....' to check the correct functioning. >>>> >>>> With the SpaceTally printSpaceAnalysis i note: >>>> >>>> as of February 16th: >>>> >>>> Class code space # in stances inst space percent inst average size >>>> Array 4115 656764 43904528 23.30 66.85 >>>> ByteString 2942 233871 27527272 14.60 117.70 >>>> >>>> >>>> as of March 4th >>>> Class code space # instances inst space percent inst average size >>>> Array 4115 837017 50564552 23.40 60.41 >>>> ByteString 2942 266620 31933216 14.80 119.77 >>>> >>>> Now i do: >>>> >>>> ByteString allInstances select:[ :i | i includesSubstring: 'NETWORK' ] >>>> >>>> where 'NETWORK' is a string used in the Transcript show: ...... NETWORK' ......' report entry. >>>> >>>> >>>> The system found 3214 ByteString instances.... ( relative to the NETWORK ) >>>> >>>> The system found 22650 ByteString instances.... ( relative to the CASH ) >>>> >>>> The system found .............. >>>> >>>> >>>> Because ????? >>>> >>>> >>>> Does the system remember something about the string create for the Transcript show: entry ? >>>> >>>> I need to reset something? >>>> >>>> How can I analyze the situation? >>>> >>>> I follow some aByteString entry with the pointersTo method >>>> >>>> but for now I have not found the solution. >>>> >>>> >>>> >>>> Thanks, >>>> >>>> Dario >>>> >>>> >>> >>> >> >> > > |
Free forum by Nabble | Edit this page |