Beste Weg, um zu Messen, Speicherverbrauch eines Java-Programms?
Ich bin derzeit mit VisualVM, aber das problem das ich habe ist, dass ich kann nicht speichern Sie die Grafiken, die es erzeugt. Ich muss Bericht einige Daten über den Speicher-Nutzung und Laufzeit, wenn die Laufzeit ist leicht zu erreichen mit System.nanoTime()
. Ich habe auch versucht die NetBeans profiler ist es aber nicht, was ich will, denn ich bin nicht auf der Suche nach bestimmten teilen, wäre eine Verlangsamung oder irgendetwas, also das wäre übertrieben. Das größte problem mit ihm ist, dass er frisst zu viel Rechenzeit. Auch nicht lassen, mich erfassen/übertragen Sie die Daten einfach, wie VisualVM, zumindest soweit ich das sagen kann.
Im Idealfall der beste Weg zu gehen über, es wäre eine Methode nennen, weil dann würde ich in der Lage zu Holen Sie sich die Informationen viel leichter, aber so etwas wie VisualVM, die tatsächlich ermöglicht es mir, speichern Sie die Grafik in Ordnung ist. Leistung mit VisualVM ist ziemlich gut, im Vergleich zu den NetBeans-profiler, obwohl ich vermute, weil ich nicht mit seinen profiler.
Ich bin derzeit mit Ubuntu, aber Windows 7 ist in Ordnung. Ich habe lieber ein Programm, das spezialisiert, auf, tun dies aber nicht, da die Informationen bekommen, indem Sie Programme, die nicht, ist wahrscheinlich auch die JVM und andere Dinge, die besser sein würde, ausgelassen.
Gut, offenbar, Sie können speichern Sie snapshots der aktuellen Sitzung und maximieren Sie das Fenster, in VisualVM, so könnte man die charts größer, nehmen Sie eine Momentaufnahme und schneiden Sie Sie... Aber das ist eine Art hack. Bessere Vorschläge willkommen.
InformationsquelleAutor iceburn | 2010-08-21
Du musst angemeldet sein, um einen Kommentar abzugeben.
InformationsquelleAutor Auxiliary
Blick auf die Laufzeit Klasse. Es hat freeMemory, maxMemory, und totalMemory. Das ist wohl nahe genug für Ihre Zwecke.
InformationsquelleAutor Will Hartung
Können Sie es vorziehen anmutig Verfahren zur Messung der Erinnerung, eher als hack Bild.
JConsole ist bekannt für Monitor-Anwendungen durch JMX,es bietet Programm-API. Ich denke, es ist, was Sie brauchen.
Finden Sie unter: Using JConsole to Monitor Applications
InformationsquelleAutor 卢声远 Shengyuan Lu
Versuchen JProfiler. Obwohl es nicht kostenlos können Sie versuchen, die Testversion zuerst.
InformationsquelleAutor Gopi
Den HPjmeter Konsole ist kostenlos. Führen Sie den Java-Prozess mit
-Xloggc:<file>
und öffnen Sie die<file>
. Sie können nicht nur speichern Sie Ihre Sitzungen, aber Sie können vergleichen, läuft. Andere Optionen zu prüfen, einschließlich der in der command line sind:InformationsquelleAutor Amir Afghani