2016-11-09 23:20 GMT+01:00 Sven Van Caekenberghe <sven@stfx.eu>:
I ran a similar test [1] on a 16GB Ubuntu box:

# uname -a
Linux ubuntu-m-16gb-nyc3-01 4.4.0-45-generic #66-Ubuntu SMP Wed Oct 19 14:12:37 UTC 2016 x86_64 x86_64��x86_64 GNU/Linux

# cat /etc/issue
Ubuntu 16.04.1 LTS

# history | grep wget
�� �� 5 ��wget http://files.pharo.org/get-files/60/pharo-64.zip
�� �� 6 ��wget http://files.pharo.org/sources/PharoV50.sources.zip
�� �� 7 ��wget https://bintray.com/estebanlm/pharo-vm/download_file?file_path=pharo-linux-x86_64threaded.0a4ccdf.zip

# ./bin/pharo -vm-display-null pharo-64.image st --quit memtest.st >& out.log &

Which gave the following (abbreviated) output:

uptime �� �� �� �� �� �� �� �� ��0h0m0s
memory �� �� �� �� �� �� �� �� ��70,918,144 bytes
�� �� �� �� old �� �� �� �� �� �� �� �� �� �� 61,966,112 bytes (87.4%)
�� �� �� �� young �� �� �� �� �� 2,781,608 bytes (3.9000000000000004%)
I see yet another bad usage of round:/roundTo: --------------^
Ah, but it was another thread ;)
��
�� �� �� �� used �� �� �� �� �� ��46,301,016 bytes (65.3%)
�� �� �� �� free �� �� �� �� �� ��18,446,704 bytes (26.0%)
GCs �� �� �� �� �� �� �� �� �� �� �� �� �� �� 1 (207ms between GCs)
�� �� �� �� full �� �� �� �� �� �� �� �� �� ��0 totalling 0ms (0.0% uptime)
�� �� �� �� incr �� �� �� �� �� ��1 totalling 0ms (0.0% uptime), avg 0.0ms
�� �� �� �� tenures �� �� �� �� 0


Iteration 1
...

Iteration 8
...

uptime �� �� �� �� �� �� �� �� ��0h12m44s
memory �� �� �� �� �� �� �� �� ��5,238,300,672 bytes
�� �� �� �� old �� �� �� �� �� �� �� �� �� �� 5,229,348,640 bytes (99.80000000000001%)
�� �� �� �� young �� �� �� �� �� 1,054,128 bytes (0.0%)
�� �� �� �� used �� �� �� �� �� ��5,207,806,800 bytes (99.4%)
�� �� �� �� free �� �� �� �� �� ��22,595,968 bytes (0.4%)
GCs �� �� �� �� �� �� �� �� �� �� �� �� �� �� 23,509 (33ms between GCs)
�� �� �� �� full �� �� �� �� �� �� �� �� �� ��19 totalling 147,969ms (19.400000000000002% uptime), avg 7787.8ms
�� �� �� �� incr �� �� �� �� �� ��23490 totalling 143,396ms (18.8% uptime), avg 6.1000000000000005ms
�� �� �� �� tenures �� �� �� �� 107,267,532 (avg 0 GCs/tenure)
Since last view 23,508 (33ms between GCs)
�� �� �� �� uptime �� �� �� �� ��764.4000000000001s
�� �� �� �� full �� �� �� �� �� �� �� �� �� ��19 totalling 147,969ms (19.400000000000002% uptime), avg 7787.8ms
�� �� �� �� incr �� �� �� �� �� ��23489 totalling 143,396ms (18.8% uptime), avg 6.1000000000000005ms
�� �� �� �� tenures �� �� �� �� 107,267,532 (avg 0 GCs/tenure)

# free -m
�� �� �� �� �� �� �� total �� �� �� ��used �� �� �� ��free �� �� ��shared ��buff/cache �� available
Mem: �� �� �� �� ��16047 �� �� �� ��4632 �� �� �� 10647 �� �� �� �� �� 3 �� �� �� �� 768 �� �� �� 11129
Swap: �� �� �� �� �� �� 0 �� �� �� �� �� 0 �� �� �� �� �� 0


So, yes, it works on Linux too.

Sven

[1]

| meta hold |

NonInteractiveTranscript stdout install.

Transcript crShow: SmalltalkImage current vm statisticsReport; cr.

hold := (1 to: 8) collect: [ :i |

Transcript crShow: 'Iteration ', i asString.

ASTCache reset.
meta := Dictionary new.
Smalltalk allClassesAndTraits do: [ :each | | classMeta methods |
(classMeta := Dictionary new)
at: #name put: each name asSymbol;
at: #comment put: each comment;
at: #definition put: each definition;
at: #object put: each.
methods := Dictionary new.
classMeta at: #methods put: methods.
each methodsDo: [ :method | | methodMeta |
(methodMeta := Dictionary new)
at: #name put: method selector;
at: #source put: method sourceCode;
at: #ast put: method ast;
at: #args put: method argumentNames asArray;
at: #formatted put: method ast formattedCode;
at: #comment put: (method comment ifNotNil: [ :str | str withoutQuoting��]);
at: #object put: method.
methods at: method selector put: methodMeta ].
meta at: each name asSymbol put: classMeta ].
meta.

].

3 timesRepeat: [ Smalltalk garbageCollect ].

Transcript crShow: SmalltalkImage current vm statisticsReport; cr.


On 9 Nov 2016, at 17:18, phil@highoctane.be wrote:

Ok, I'll try that in the coming days on my desktop box.
I've got 32GB on that box, so it will be interesting.

What would be a good way to stress test the GC?

Phil

On Wed, Nov 9, 2016 at 3:59 PM, Thierry Goubier��<thierry.goubier@gmail.com>��wrote:


2016-11-09 15:23 GMT+01:00��philippe.back@highoctane.be��<philippe.back@gmail.com>:
Anyone having tested such 64 bit goodness on a Linux box?

Only as a professional demo for code developped up to the very last moment on Pharo 32 bits. So I��didn't try to explose the available RAM on my laptop (yet).

Thierry

��
Phil