Ich führe eine Eclipse-Anwendung auf meinem Computer aus. Ich habe zwei Fragen
ControlPanel ---> Programme ---> JavaSetting -> JavaTab -> Schaltfläche "Ansicht" ---> Fenster für JavaRuntimeEnvironment-Einstellungen ---> Userstab -> Wert unter RuntimeParameters
In meinem System sind jedoch keine Laufzeitparameter definiert. Gibt es einen Befehl, den ich über die Eingabeaufforderung ausführen kann, um die Standardgröße des Heapspeichers in meinem Computer zu überprüfen.
So erhöhen Sie den Parameter für die Heap-Größe und führen die Anwendung Eclipse-Plugin über die Eingabeaufforderung aus. Zum Beispiel: Um die Heap-Größe zu erhöhen und die JAR-Datei auszuführen, verwenden wir den folgenden Befehl Java -Xms64m -jar MyApp.jar
. Ich würde gerne wissen, wie man Heap-Parameter einstellt und meine Java-Anwendung ausführt, die eine exe
-Datei ist. Ich habe versucht, den folgenden Befehl auszuführen, aber der Befehl Prompt erkennt den Befehl nicht
Java -Xms512m iepsd.exe
Wo iepsd.exe
meine Java-Anwendung ist.
Sie können -XX:+PrintFlagsFinal
verwenden, um eine riesige Liste interner Optionen an die JVM zu drucken, nachdem alle Befehlszeilenargumente und Standardwerte verarbeitet wurden. Die -Xms
-Option entspricht InitialHeapSize und die -Xmx
-Option entspricht MaxHeapSize.
Führen Sie den folgenden Befehl aus, um die standardmäßige maximale Heap-Größe zu ermitteln, die von der JVM unter Windows verwendet wird:
javaw -XX:+PrintFlagsFinal | find "MaxHeapSize"
Führen Sie Folgendes aus, um die anfängliche Standardspeichergröße zu ermitteln:
javaw -XX:+PrintFlagsFinal | find "InitialHeapSize"
Um die unten stehende Abfrage von vr3w3c9
zu beantworten
Abfrage ausgelöst durch vr3w3c9
: Hallo, Danke für die Antwort. Ich habe versucht, den obigen Befehl javaw -XX:+PrintFlagsFinal | find "InitialHeapSize"
in der Eingabeaufforderung auszuführen, der Wert wird nicht angezeigt. Ich bekomme eine Popup-Nachricht, die sagt:
java Virtual Machine konnte nicht erstellt werden - vr3w3c9 27. September 13 um 04:54
Answer: Auf einem Windows-Computer starten/öffnen Sie die Eingabeaufforderung (Windows Command Processor) als Administrator und führen Sie den von Ihnen erwähnten Befehl aus. Sie erhalten das Ergebnis wie folgt:
C:\windows\system32>javaw -XX:+PrintFlagsFinal | find "MaxHeapSize"
uintx MaxHeapSize := 2122317824 {product}
C:\windows\system32>javaw -XX:+PrintFlagsFinal | find "InitialHeapSize"
uintx InitialHeapSize := 132531136 {product}
Hier ist unit von MaxHeapSize und InitialHeapSize bytes.
versuchen Sie den Befehl unten, um ein detailliertes Ergebnis zu erhalten
Java -XX:+PrintFlagsFinal -version | findstr /i "HeapSize PermSize ThreadStackSize"
ergebnis ist
C:\Users\amar.magar>Java -XX:+PrintFlagsFinal -version | findstr /i "HeapSize PermSize ThreadStackSize"
intx CompilerThreadStackSize = 0 {pd product}
uintx ErgoHeapSizeLimit = 0 {product}
uintx HeapSizePerGCThread = 87241520 {product}
uintx InitialHeapSize := 268435456 {product}
uintx LargePageHeapSizeThreshold = 134217728 {product}
uintx MaxHeapSize := 4271898624 {product}
intx ThreadStackSize = 0 {pd product}
intx VMThreadStackSize = 0 {pd product}
Java version "1.8.0_121"
Java(TM) SE Runtime Environment (build 1.8.0_121-b13)
Java HotSpot(TM) 64-Bit Server VM (build 25.121-b13, mixed mode)
Verwenden Sie JConsole. Es wird mit dem JDK ausgeliefert. Sie finden die ausführbare Datei im entsprechenden bin-Verzeichnis.