it-swarm.com.de

So ermitteln Sie die Standardgröße des Java-Heapspeichers in Windows

Ich führe eine Eclipse-Anwendung auf meinem Computer aus. Ich habe zwei Fragen

  1. Ich würde gerne wissen, wie man die Standardgröße des Heapspeichers überprüft, den der Jvm zum Ausführen der Anwendung verwendet. Ich habe versucht, die Standard-Heap-Größe auf folgende Weise zu überprüfen

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. 

  1. 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. 

10
vr3w3c9

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"
19
pburka

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.

2
user1784741

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)
1
Amar Magar

Verwenden Sie JConsole. Es wird mit dem JDK ausgeliefert. Sie finden die ausführbare Datei im entsprechenden bin-Verzeichnis.

0
Aniket Thakur