2014-04-12 11 views
7

Nach einer sehr langen Laufzeit (ein Tag oder länger), beginnt eine webbasierte App, die ich geschrieben habe (JS/HTML5), sich "komisch" zu verhalten. Hauptsächlich hört es auf, die normalen Daten zu senden, die es an das Backend senden sollte, wo ich erwarte, dass es ungefähr 500kb Daten sendet, fängt es an, nur ein paar Bytes Unsinn zu senden. Ich vermutete, dass dies speicherbedingt war (Speicher nicht zuordnen oder etwas?) Und als ich nachforschte, sah ich etwas wirklich Seltsames und scheinbar Unmögliches, was mir vorschlägt, dass es sich um einen Chrome-Bug handelt, den ich vielleicht durch hohen Speicherverbrauch erlebe. Aber ich könnte eine Bestätigung von jemandem gebrauchen, der es besser weiß als ich.Odd console.memory führt zu Chrome, negative Zahlen in Timeline-Speicher-Dev-Tools, ein Chrome-Bug?

Die Hauptursache scheint zu sein, was console.memory ausspuckt. Das verlinkte Dokument sagt, dass "usedJsHeapSize nicht größer sein kann als totalJsHeapSize" was sehr, sehr viel ist. Es ist auch höher als die Heap-Größe zu begrenzen, was ich mir vorstellen, es sollte nicht sein:

Results of console.memory call

Ich versuchte dann zu sehen, was devtools mir sagen könnte, und hat einen Zeitplan von Speicher zu diesem Zeitpunkt, für einige Sekunden und schau dir an, was es sagt .... der Speicher reicht von einer negativen, wahnsinnig großen Zahl bis hin zu 0B. Das scheint nicht richtig zu sein.

Timeline of memory usage

Und ich überprüfte die chrome: // Speicher Bericht und während es viel Speicher verwendet, zu vergleichen, das zu anderen Chrome-Browser-Sitzungen Ich habe geht es nicht freakish scheint.

chrome://memory

Kann jemand bestätigen dies ein Chrome Fehler im Vergleich zu erwarteten Entwickler-Tools Verhalten Ich bin nicht richtig zu interpretieren.

Danke!

+0

Du bist Er sagte: "Ich habe dieses Ding, das mir seltsam ist. Ich werde es vor dir geheim halten. Nun, ist es seltsam?" "Nur das, was es ein Geheimnis ist", ist meine Antwort. BTW: Mein Herzschlag ist durchschnittlich 57 bpm, was niedriger als die meisten ist. Kannst du bestätigen, dass das komisch ist? Wenn nicht, bitte erklären. Entschuldige, ich bin unfair ... du kennst meinen medizinischen Status nicht. –

+0

Ummm ... Das ist sicherlich nicht das, was ich vorhatte, noch was ich denke, was ich getan habe. Ich dachte nur a) es ist nicht wahrscheinlich, dass jemand, der mir helfen will, sich für 24+ Stunden anmelden und meine Software laufen lassen will, um dieses Verhalten zu zeigen, b) meine Frage erfordert das nicht, weil ich es einfach möchte weiß, ob diese Speicherzahlen überhaupt Sinn machen (sind gültig/legal/möglich) oder ist ihre Existenz ein Beweis dafür, dass es einen Chrome-Bug gibt, den ich wahrscheinlich auslöst. –

+0

Wenn Sie eine maximale Anzahl überschreiten, erhalten Sie negative Zahlen. Wenn Ihr Skript nicht effizient gespeicherte Objekte verwaltet, wird es weiter wachsen. Es ist normal? Nun, wenn dein Skript so geschrieben ist, Yeppers. Ohne den Code zu sehen, gibt es keine Möglichkeit zu wissen, was vor sich geht. Sie haben es 24 Stunden lang ausgeführt, aber das Skript kann höchstwahrscheinlich beschleunigt werden, um Routinen viel schneller auszuführen und das Problem zu replizieren, um die Ursache zu identifizieren. Was wir jetzt haben, ist eine Beschreibung der Symptome eines Problems, ohne es analysieren zu können ... daher ein Kriminalroman. –

Antwort

3
  • Die Werte sind bucketed Seitenkanalangriffe
  • Bucketing hier beschrieben zu verhindern: http://goo.gl/fFspKO
  • Erhalten Sie genaue Zahlen mit Chrome Flagge: --enable-präzise-Speicher-info
Verwandte Themen