Frage

Ich bin in einem Problem mit festgefahren GFLAGs Beim Versuch, einige Speicherlecks in einer Windows -App zu finden.

Wenn ich das einschalte ust Flag (um Speicherzuordnungen Stapelspuren zu sammeln) Der Speicher meiner Anwendung steigt viel schneller an als wenn das Flag ausgeschaltet ist (es erreicht 800 MB in 10 min. Die Flagge ist aus).

Ich habe gelesen, dass es ein Maximum für Stapelspuren von 32 MB gibt, daher sollte dies kein Problem sein.

Der Computer ist a 4x Intel (R) Xeon (R) CPU E5410 @ 2,33 GHz.

Wenn mir jemand einen Hinweis geben könnte, würde ich es wirklich schätzen.

Vielen Dank!

War es hilfreich?

Lösung

Die Stack Trace -Datenbank ist nicht der einzige Einfluss der UST -Flag. Es fügt jeder Zuordnung mindestens 32 Bytes hinzu, um seine Stapelspuren -ID zu speichern. Dies könnte Ihre Gedächtniserhöhung erklären, wenn viele kleine Zuteilungen beteiligt sind. Wenn Sie den Prozess mit einem angehängten Debugger starten oder den Prozess mit Debug -Ziel zusammenstellen, wird die Windows -Haufen im Debug -Modus festgelegt und der Overhead pro Allokation wird noch größer.

Andere Tipps

Sie können die maximale Trace -Datenbankgröße unter Verwendung /Verfolgung von sizeInmb sehen, siehe die MSDN GFLAGS -Dokumentation Für Kapitel und Vers. Standardmäßig gibt es keine maximale Größe, die höchstwahrscheinlich das Verhalten erklärt, das Sie gesehen haben.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top