txt - ¿Cuál es el objeto del sistema en el perfilador de memoria javascript de cromo
leer el contenido de un archivo en javascript (1)
De acuerdo con la implementación de JSHeapSnapshot.js en Chromium, como se menciona en un comentario de wOxxOm, se realiza una comparación de la distancia de un nodo determinado a 100000000 ( distances[ordinal] >= WebInspector.HeapSnapshotCommon.baseSystemDistance
, donde WebInspector.HeapSnapshotCommon.baseSystemDistance = 100000000
) y si pasa, el tamaño se acumula en el segmento Sistema del gráfico circular.
El commit que modifica por última vez este valor menciona,
Actualmente, si un objeto de usuario es retenido tanto por un objeto de espacio de sistema (por ejemplo, un depurador) como por otro objeto de usuario, el objeto de sistema puede mostrarse antes en el árbol de retenedores. Esto sucede si su distancia es menor que las distancias de otros objetos de usuario retenedores.
El parche trata los enlaces de los objetos del espacio del sistema a los objetos del usuario con menos prioridad, por lo que estos enlaces se muestran en la parte inferior del árbol de retenedores.
Lo que indica que los depuradores y otras partes internas del navegador (V8, WebKit, etc.) utilizan los objetos del espacio del sistema en el montón de JavaScript. Están fuera del control directo de los objetos de montón asignados por script.
wOxxOm también mencionó que el nombre solía ser el montón V8. Es decir, los objetos que V8 asigna que están fuera del alcance del script de ejecución.
Es muy probable que la ejecución de perfiles y la toma de instantáneas también realice asignaciones en esa categoría de objetos de montón, lo que provoca el patrón que observa de la construcción de asignaciones de sistemas a lo largo del tiempo.
Estoy perfilando una aplicación de JavaScript usando las herramientas de desarrollo de Chrome.
Veo que la única área de memoria que crece es Total de objetos del sistema.
Me pregunto cómo podría entender las causas de tal comportamiento ya que no hay detalles en la herramienta que muestren qué objetos del sistema se filtraron.
He echado un vistazo a la asignación de aplicaciones, pero no cambia mucho con el tiempo ... Cuando estoy usando la función de línea de tiempo, el montón crece más de 500 MB