Found the discussion about 32bit array :
https://github.com/factor/factor/issues/1566

Also what's happening in your case is that the heap size grows when the
arrays are allocated. If you gc, you will get rid of the arrays, but the
heap doesn't shrink. So you can reallocate more arrays, but the factor
process still uses as much ram.

Note that if the arrays are prettyprinted in the listener, you need to
"restart listener" and then gc so that they can be collected.

On my machine, I see:
8 10^ 0 <array> ! 10% MEM
8 10^ 0 <array> ! 20% MEM
restart listener
gc ! %20 MEM
8 10^ 0 <array> ! 20% MEM
8 10^ 0 <array> ! 20% MEM
8 10^ 0 <array> ! 30% MEM


Jon

On Thu, Nov 24, 2016 at 5:33 PM, Alexander Ilin <ajs...@yandex.ru> wrote:

> Hello!
>
> OK, opening the console I also see the message "fatal_error: Out of memory
> in VirtualAlloc".
>
> I did it this way: `6 [ 25 2^ 0 <array> ] times`
>
> Now I have some further questions.
>
> When I do `5 [ 25 2^ 0 <array> ] times` I see the factor.com process
> eating up ~930 Mb of memory.
>
> Why is it that after restarting and doing `5 [ 25 2^ 0 <array> ] times
> clear gc` it still remains with ~930 Mb of memory?
>
> Why didn't `gc` release the unused and unreferenced memory back to the
> system?
>
> More importantly, if I do `25 2^ 0 <array>` once more, it crashes, i.e.
> the allocated memory remains unavailable, even though it should have been
> collected by the GC.
>
> Is there a more aggressive version of the `gc` command?
>
> The `clear` command makes sure the empty allocated arrays don't show up in
> (and get referenced by) the UI. Or am I missing something.
>
> The question is quite practical for me, as when I work with big data sets
> I also see that GC keeps hogging the memory I don't use anymore, which
> leads to crashes in the long (and even not so long) run.
>
> 24.11.2016, 19:16, "Jon Harper" <jon.harpe...@gmail.com>:
>
> That's because you are running a 32 bit factor. Try allocating many
> arrays, at some point your OS should return an error to factor at
> https://github.com/factor/factor/blob/master/vm/os-windows.cpp#L97
>
> Also what you are seeing is expected, the array size is limited to
> most-positive-fixnum/2, which is not a problem on 64bits (2^58-1 ~ 10^17 )
> but is kind of limiting on 32 bits (2^26-1 = 67 million ~= 10^8). There was
> discussions about this but I can't find it anymore...
>
> Jon
>
> On Thu, Nov 24, 2016 at 4:45 PM, Alexander Ilin <ajs...@yandex.ru> wrote:
>
> Hello!
>
> Unfortunately, I can't reproduce this in Win8.1 GUI listener:
>
> IN: scratchpad 50 2^ 0 <array>
> Cannot convert to fixnum: 1125899906842624
>
> IN: scratchpad 25 2^ 0 <array>
> (success)
>
> IN: scratchpad 26 2^ 0 <array>
> Invalid array size: 67108864
> Maximum: 67108863
> 24.11.2016, 17:06, "Jon Harper" <jon.harpe...@gmail.com>:
>
> Hi,
> more precisely, the process is aborted (uses the vm 'fatal_error()'
> function):
>
> $ ./factor -run=listener
> Factor 0.98 x86.64 (1781, heads/master-d4528c36da, Tue Aug 16 17:00:11
> 2016)
> [Clang (GCC 4.2.1 Compatible Ubuntu Clang 3.4 (tags/RELEASE_34/final))] on
> linux
> IN: scratchpad 50 2^ 0 <array>
> fatal_error: Out of memory in mmap: 0x20000018a82000
> [ ... ]
> Aborted (core dumped)
>
>
>
> Jon
>
> On Thu, Nov 24, 2016 at 4:15 AM, Björn Lindqvist <bjou...@gmail.com>
> wrote:
>
> Hi,
>
> It shouldn't crash exactly, but it does terminate the process with an
> "Out of memory" error.
>
> 2016-11-23 20:43 GMT+01:00 Alexander Ilin <ajs...@yandex.ru>:
> > Hello!
> >
> >   What happens if Factor is out of memory?
> >   Does it throw an exception and aborts the current operation? Or does
> it simply crash the instance?
> >   For me it simply crashes, which is not very nice.
>
>
> ---=====---
> Александр
>
>
> ------------------------------------------------------------
> ------------------
>
> _______________________________________________
> Factor-talk mailing list
> Factor-talk@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/factor-talk
>
>
> ,
>
> ------------------------------------------------------------
> ------------------
> ,
>
> _______________________________________________
> Factor-talk mailing list
> Factor-talk@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/factor-talk
>
>
>
> ---=====---
> Александр
>
>
> ------------------------------------------------------------
> ------------------
>
> _______________________________________________
> Factor-talk mailing list
> Factor-talk@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/factor-talk
>
>
------------------------------------------------------------------------------
_______________________________________________
Factor-talk mailing list
Factor-talk@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/factor-talk

Reply via email to