Thank you... avoiding growth and setting 2gb - 64kb ended up being the most reliable approach.
On Monday, March 18, 2019 at 9:01:52 PM UTC-5, Alon Zakai wrote: > > Memory never shrinks, once grown. > > There's no power of 2 requirement - asm.js requires multiples of 16MB, and > wasm 64Kb. > > On Mon, Mar 18, 2019 at 5:42 PM John Muehlhausen <[email protected] > <javascript:>> wrote: > >> I tried doing a malloc/memset/free of 1800000000ull at the beginning of >> my program, which seemed to fix the problem. Once the heap grows this >> large, is it ever downsized? If it is downsized then I’m not sure why this >> worked, because it seems like there would be no effect from the temporary >> usage. >> >> I don’t think I can set 2gb - 64k because I think the initial memory was >> limited to powers of two for a security reason? So 1gb is the largest >> initial.... >> >> On Mon, Mar 18, 2019 at 7:16 PM Alon Zakai <[email protected] >> <javascript:>> wrote: >> >>> Yes, when memory grows in asm.js we create a new one, and the old one >>> will be GC'd eventually, but when depends on the browser. So both will be >>> in memory at once for a while, which can be a problem. >>> >>> Setting 2GB on Chrome is an issue currently, but I think you can set 2GB >>> - 64K, so you can get close. >>> >>> On Mon, Mar 18, 2019 at 4:56 PM John Muehlhausen <[email protected] >>> <javascript:>> wrote: >>> >>>> It seems as if my entire heap is being duplicated (due to >>>> ALLOW_MEMORY_GROWTH) and then the old one is garbage collected? Is that >>>> how it works? Seems like I cannot set an initial size more than 1GB and >>>> the "growth" increment is less than 1GB. What I'd really like is to set >>>> 2GB (the max?) initially, but it seems as if this doesn't work? >>>> >>>> On Monday, March 18, 2019 at 4:39:18 PM UTC-5, John Muehlhausen wrote: >>>>> >>>>> I have a memory-intensive process that runs fine on Firefox >>>>> (everywhere) and Chrome (Max+Linux) and Safari. However, Chrome on >>>>> Windows >>>>> "aw, snap"'s me most-- but not all-- of the time. I was finally able to >>>>> resolve this with `--max_old_space_size=4096` Chrome command line >>>>> parameter, but I don't want to place this requirement on my users. >>>>> >>>>> My guess is that gc is not keeping up with me on Windows in particular >>>>> (fewer points where gc wants to run? ) or else that the defaults differ >>>>> per >>>>> platform. Any ideas about how to nudge garbage collection to happen more >>>>> often? Any other thoughts? >>>>> >>>>> Thanks! >>>>> >>>> -- >>>> You received this message because you are subscribed to the Google >>>> Groups "emscripten-discuss" group. >>>> To unsubscribe from this group and stop receiving emails from it, send >>>> an email to [email protected] >>>> <javascript:>. >>> >>> >>>> For more options, visit https://groups.google.com/d/optout. >>>> >>> -- >>> You received this message because you are subscribed to a topic in the >>> Google Groups "emscripten-discuss" group. >>> To unsubscribe from this topic, visit >>> https://groups.google.com/d/topic/emscripten-discuss/1V1aoe7Pxlg/unsubscribe >>> . >>> To unsubscribe from this group and all its topics, send an email to >>> [email protected] <javascript:>. >>> For more options, visit https://groups.google.com/d/optout. >>> >> -- >> You received this message because you are subscribed to the Google Groups >> "emscripten-discuss" group. >> To unsubscribe from this group and stop receiving emails from it, send an >> email to [email protected] <javascript:>. >> For more options, visit https://groups.google.com/d/optout. >> > -- You received this message because you are subscribed to the Google Groups "emscripten-discuss" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. For more options, visit https://groups.google.com/d/optout.
