Secondo il JSHeapSnapshot.js implementazione in cromo, come menzionato in un commento di wOxxOm, un confronto per l'una data viene eseguita la distanza del nodo a 100000000 (distances[ordinal] >= WebInspector.HeapSnapshotCommon.baseSystemDistance
, dove WebInspector.HeapSnapshotCommon.baseSystemDistance = 100000000
) e se si passa, la dimensione viene accumulata nel segmento Sistema del grafico a torta.
L'commit che ultima modifica questo valore menziona,
Attualmente se un oggetto utente viene mantenuto sia da un oggetto sistema spazio (ad esempio un debugger) e un altro oggetto utente, l'oggetto di sistema potrebbe essere mostrato in precedenza nell'albero di conservazione. Ciò accade se la sua distanza è più piccola delle distanze di altri oggetti utente di conservazione.
La patch considera i collegamenti dagli oggetti dello spazio di sistema agli oggetti utente con una priorità inferiore a , quindi questi collegamenti sono visualizzati nella parte inferiore della struttura di retainers .
che indica che gli oggetti del sistema-spazio sul mucchio javascript sono utilizzati da debugger e altri interni al browser (V8, WebKit, etc.). Sono al di fuori del controllo diretto degli oggetti heap assegnati dallo script.
wOxxOm ha anche menzionato che il nome era un heap V8. Cioè, gli oggetti che V8 alloca che sono fuori dalla portata dello script in esecuzione.
È molto probabile che l'esecuzione del profilo e l'esecuzione di istantanee eseguano allocazioni anche in quella categoria di oggetti heap, causando il pattern che si vede di generazione di allocazioni di sistema nel tempo.
Il parametro menzionato nella domanda di Statistiche heap non è "Totale oggetti di sistema". "Oggetti di sistema" è diverso e "Totale" è diverso. – Abhijeet
Il modo più semplice per trovare la causa della crescita dell'heap consiste nel confrontare due istantanee nella vista di confronto. Potrebbe trattarsi di nodi DOM che sono ancora referenziati dal codice sebbene non facciano più parte dell'albero DOM. – zeroflagL
In precedenza era denominato [V8 heap] (https://crbug.com/346335), tecnicamente [oggetti con "distanza"> = 100000000] (https://cs.chromium.org/chromium/src/third_party/WebKit /Source/devtools/front_end/heap_snapshot_worker/JSHeapSnapshot.js?q=%22getStatistics%22+-file:test+-file:debug/&sq=package:chromium&dr=C&l=407). Vedi [terminologia] (https://developers.google.com/web/tools/chrome-devtools/profile/memory-problems/memory-101?hl=it). Penso che l'heap di sistema possa crescere a causa del debugger stesso.Confronta l'utilizzo di mem senza il task manager di Chrome Shift-Esc o chrome: // tracing/ – wOxxOm