Adding memory-dev to cc (and I suspect the google adress will bounce me).
Since you have no other answer, I will add some general information about
Chromium's memory management. Memory is mostly managed one renderer
process at a time, and if you share a renderer process with other
apps/sites/data you will also have to share the memory.
There are internal memory limits, mostly of the "2GB per process" kind,
coming from the use of custom allocators with those limits. While the
limits are sometimes hit, moving them has not yet been a goal as far as I
know.
A relatively common problem with large images and buffers is that the
memory is too fragmented to be used. If your crashing users crash after
some time, that might be the cause.
Another problem with garbage collected large buffers is that the garbage
collect doesn't trigger fast enough.
There is no cross platform memory metrics. Every browser is different
enough to make metrics impossible to compare between browser which has
stopped cross platform solution. If you have to use chromium only metrics
for debugging, then go ahead.
If you want to debug the browser itself, then
https://chromium.googlesource.com/chromium/src/+/master/docs/memory-infra/
is the tool for that.
I hope this can bring you closer to figuring out what is going on.
Memory/oom debugging can be tricky.
/Daniel
On Tue, 07 May 2019 19:55:58 +0200, chenwilliam via Chromium-dev
<
chromi...@chromium.org> wrote:
> Hello Chromium developers -
>
> I'm trying to debug issues with an web app (Google-internal) where we're
> consistently encountering >issues from a small subset of our users:
>
> We're receiving JS errors from our logging infrastructure such as:
> 1. "RangeError: Failed to execute 'getImageData' on
> 'CanvasRenderingContext2D': Out of memory at >ImageData creation"
> 2. "RangeError: Array buffer allocation failed"
>
>> 1. Looks like it could be coming from somewhere in:
>>
https://cs.chromium.org/chromium/src/>third_party/blink/renderer/modules/canvas/canvas2d/base_rendering_context_2d.cc?>l=1581&rcl=dfae77a3bc63d90731092f4f69598ce26b2272a1
> 2. Seems to be originating from
>
https://cs.chromium.org/chromium/src/v8/src/builtins/builtins->arraybuffer.cc?l=53&rcl=94a9e6155ebda4918522a702528c6e54a0018a00
> and my guess is that V8 is unable >to a new array buffer because there's
> a lack of memory.
>
>> I'm not familiar enough with V8 or Blink to meaningfully interpe
>
>> My questions are:
> 1. Are these caused by a lack of memory?
> 2. In general, how does Chrome cap memory usage? I know there's an OOM
> error and I was wondering >what's Chrome's heuristics around max memory
> usage and if it's per-tab, per-frame, per-origin, etc.
> 3. Is there any best practices for collecting RUM on memory usage? I
> know there's >window.performance.memory but it says "Do not use.
> Proprietary. Chrome only" on
> https://>
webplatform.github.io/docs/apis/timing/properties/memory/.
>
> Thanks for your help.
>
> Will
>
>
>
>
> --
> --
> Chromium Developers mailing list:
chromi...@chromium.org
>
> View archives, change email options, or unsubscribe:
>
http://groups.google.com/a/chromium.org/group/chromium-dev
>
> ---
> You received this message because you are subscribed to the Google
> Groups "Chromium-dev" group.
>
> To unsubscribe from this group and stop receiving emails from it, send
> an email to chromium-dev>+
unsub...@chromium.org.
>
> To view this discussion on the web visit
>
https://groups.google.com/a/chromium.org/d/msgid/chromium->dev/f5e0cd61-d07a-49ce-ae1f-27b4fd8b8e24%
40chromium.org.
>
--
/* Opera Software, Linköping, Sweden: CEST (UTC+2) */