Ich verwende VisualVM von JDK 1.6.0_26, um ein Profil einer Java-Webanwendung zu erstellen, die unter Tomcat ausgeführt wird, aber VisualVM sagt mir oft, dass es nicht genügend Speicher hat, um einen Snapshot zu erstellen und den Schalter -Xmx zu verwenden, um mehr Speicher für Netbeans bereitzustellen . Das Problem ist, dass ich VisualVM außerhalb von Netbeans ausführe, also wie kann ich jvisualvm.exe JVM-Argumente bereitstellen?
Wie stelle ich VisualVM JVM-Argumente bereit?
Mike Rebhuhn
Zack Macomber
Sollte in der Lage sein, die Speichereinstellungen zu ändern %JDK_HOME%\lib\visualvm\etc\visualvm.conf
Xms
und Xmx
sind in der default_options
Linie.
-
Auf (meiner Kopie von 🙂 OSX: /System/Library/Java/Support/VisualVM.bundle/Contents/Home/etc/visualvm.conf
– Jonas N
5. Oktober 2012 um 20:57 Uhr
-
@Zack Kannst du das bestätigen
-J-Xms
und-J-Xmx
sind eigentlich die richtigen Optionsnamen? Ist der-J
Präfix erforderlich, wenn diese in der conf-Datei angegeben sind?– Grüner Riese
18. Februar 2013 um 16:58 Uhr
-
@GreenGiant Ich bin mir nicht sicher, ob sie es sind oder nicht … In meiner Kopie von visualvm.conf habe ich es
-J-Xms24m
&-J-Xmx256m
Ich gehe also davon aus, dass dies die richtigen Optionsnamen sind. Sie könnten wahrscheinlich googeln, wie man visualvm.conf formatiert, um weitere Informationen zu erhalten …– Zack Macomber
18. Februar 2013 um 18:50 Uhr
-
@Zack meine conf-Datei ist auch die gleiche. Ich wollte nur bestätigen, da Ihre Antwort das nicht enthielt
-J
Präfix.– Grüner Riese
18. Februar 2013 um 20:52 Uhr
-
Zu Ihrer Information, unter Linux (Mint, vermutlich auch Ubuntu) ist es
/usr/lib/jvm/java-6-sun/lib/visualvm/etc/visualvm.conf
.– David Maulwurf
31. Mai 2013 um 21:01 Uhr
oder ich denke das geht auch:
jvisualvm.exe -J-Xmx512m
(oder was auch immer Sie brauchen)
-J in der EXE-Befehlszeile für einmalige Einstellungen oder die in der anderen Antwort angegebene .conf-Datei zum Ändern von Standardeinstellungen
-
Ich konnte das nicht zum Laufen bringen. Ich habe es versucht
jvisualvm.exe -J-Xms256m -J-Xmx1024m
an der Eingabeaufforderung und bei der Überprüfung des Prozesses konnte ich feststellen, dass die Argumente nicht angewendet wurden.– Mike Rebhuhn
5. März 2012 um 17:50 Uhr
-
Ich habe es gerade versucht und es scheint, es anzuhängen. Ich sehe also die Standardeinstellung 192 m und Auch ein weiterer Eintrag für 1024m. Letzteres scheint Vorrang zu haben. Welche JDK-Version?
– Kevin Welker
5. März 2012 um 17:58 Uhr
-
Ich verwende 1.6.0_26. Wenn Sie JConsole verwenden, um den VisualVM-Prozess zu überprüfen, zeigt der Abschnitt VM-Argumente auf der Registerkarte VM-Übersicht die Standardwerte und die von mir bereitgestellten Werte, aber wenn Sie VisualVM verwenden, um sich selbst zu überprüfen, werden unter Übersicht > JVM-Argumente nur die Standardwerte gemeldet.
– Mike Rebhuhn
5. März 2012 um 18:45 Uhr
-
Ich verwende 1.6.0_20 und sehe 2 Zeilen, die Xmx auflisten. Der erste ist der Standardwert und der zweite der neue Wert. Ich habe Ihre Befehlszeile direkt aus Ihrem obigen Kommentar kopiert, nur um sicherzugehen. Ausgabe in Übersicht>JVM enthält:
-Xms24m -Xmx192m -Dsun.jvmstat.perdata.syncWaitMs=10000 -Xms256m -Xmx1024m
– Kevin Welker
5. März 2012 um 18:52 Uhr
-
Könnten Sie bitte erklären, was die Bedeutung von -J ist? Vielen Dank.
– Diego Ramos
25. Januar 2021 um 22:17 Uhr
Prabhat Jha
Ich begann mit
jvisualvm -J-Xms1024m -J-Xmx2048m
und es hat funktioniert.
-
Ich mag das, weil sich der Speicherort der .conf-Datei geändert hat, aber das funktioniert immer noch und würde vermutlich für zumindest einige andere Java-Programme funktionieren. Im Gegensatz zu den obigen Kommentaren ist dies für Mac-Benutzer nicht schwer zu finden. Die Welt nutzt Google, was uns hierher bringt.
– Georg Co
11. Oktober 2016 um 15:05 Uhr
-
Wie in den Kommentaren unten erwähnt, scheint es innerhalb von jvisualvm, wenn Sie sich VM-Argumente ansehen, nicht zu funktionieren, aber es funktioniert. Ich erhalte keinen OOM-Fehler mehr.
– Georg Co
11. Oktober 2016 um 15:28 Uhr
-
Könnten Sie bitte erklären, was die Bedeutung von -J ist? Vielen Dank
– Diego Ramos
25. Januar 2021 um 22:17 Uhr
-
Das ist so lange her, ich erinnere mich nicht mehr an meine Quelle. Aber wenn Sie sich alle anderen Antworten auf dieser Seite ansehen, werden Sie feststellen, dass jedem Argument für jvisualvm, das zur JVM-Laufzeit hinzugefügt werden soll, ein -J vorangestellt ist. Eine Art Escape-Sequenz, um anzuzeigen, dass das folgende Argument nicht von jvisualvm selbst verarbeitet werden soll, sondern dazu verwendet wird, die von jvisualvm verwendete JVM zu ändern.
– Kevin Welker
27. Januar 2021 um 23:52 Uhr
aspdeepak
Unter Mac können Sie sie konfigurieren, indem Sie diese Datei bearbeiten.
/Applications/VisualVM.app/Contents/Resources/visualvm/etc/visualvm.conf
visualvm_default_options="-J-client -J-Xms4096m -J-Xmx5120m -J-XX:+IgnoreUnrecognizedVMOptions -J-Dnetbeans.accept_license_class=com.sun.tools.visualvm.modules.startup.AcceptLicense -J-Dsun.jvmstat.perdata.syncWaitMs=10000 -J-Dsun.java2d.noddraw=true"
In VisualVM 2 befindet sich die Konfigurationsdatei im VisualVM-Verzeichnis, in dem die heruntergeladene Datei extrahiert wurde, in etc/visualvm.conf
${VISUALVM}/etc/visualvm.conf
Aktualisieren:
Laut dem Kommentar von @Kranach. Neuer Weg ist /Applications/VisualVM.app/Contents/Resources/visualvm/etc/visualvm.conf
. In dieser Konfigurationsdatei können Sie die
visualvm_default_options="-J-client -J-Xms24m -J-Xmx256m
zu (zB)
visualvm_default_options="-J-client -J-Xms24m -J-Xmx2048m
Alte Antwort: Für Mac OSX 10.12+
Wenn Sie die Datei visualvm dmg
aus https://visualvm.github.io/download.html und habe es in die verschoben Applications
Verzeichnis. Sie finden die Konfigurationsdatei visualvm.conf
unter dem Standort Applications/VisualVM.app/Contents/etc/visualvm.conf
. In dieser Konfigurationsdatei können Sie die
visualvm_default_options="-J-client -J-Xms24m -J-Xmx256m
zu (zB)
visualvm_default_options="-J-client -J-Xms24m -J-Xmx2048m