Как определить Java heapsize по умолчанию в Windows

Im запуск приложения eclipse на моей машине. У меня два вопроса

  1. Я хотел бы знать, как проверить размер кучи по умолчанию, который jvm использует для запуска приложения.Я использую машину windows для запуска приложения java. Я попытался проверить размер кучи по умолчанию следующим образом

ControlPanel- - - >Программы - - - >JavaSetting--> JavaTab -- > Кнопка Просмотра --- >Окно настроек JavaRuntimeEnvironment - - - > Userstab --> значение в разделе RuntimeParameters

но в моей системе нет определенных параметров во время выполнения. Есть команды, которые можно выполнить через командную строку, чтобы проверить размер кучи по умолчанию в моей машине.

  1. как увеличить параметр размера кучи и запустить приложение плагина eclipse из командной строки. Например: чтобы увеличить размер кучи и выполнить файл jar, мы используем следующую команду java -Xms64m -jar MyApp.jar. Я хотел бы знать, как установить параметры кучи и выполните мое приложение java, которое является . Я попытался выполнить команду ниже, но командная строка не распознает команду

    java-Xms512m iepsd.exe

здесь iepsd.exe Это мое приложение java.

4 ответов


можно использовать -XX:+PrintFlagsFinal распечатать огромный список внутренних параметров в JVM после обработки всех аргументов командной строки и значений по умолчанию. The -Xms опция соответствует InitialHeapSize и -Xmx опция соответствует MaxHeapSize.

чтобы найти максимальный размер кучи по умолчанию, который JVM использует в Windows, запустите:

javaw -XX:+PrintFlagsFinal | find "MaxHeapSize"

чтобы найти начальный размер кучи по умолчанию, запустите:

javaw -XX:+PrintFlagsFinal | find "InitialHeapSize"

чтобы ответить на следующий запрос vr3w3c9

вопрос vr3w3c9: Привет, спасибо за ответ. Я попытался выполнить вышеуказанную команду javaw -XX:+PrintFlagsFinal | find "InitialHeapSize" в командной строке значение не отображается. Im получает всплывающее сообщение, в котором говорится:

не удалось создать виртуальную машину java-vr3w3c9 Sep 27 ' 13 в 4: 54

ответ: в машине Windows запустите / откройте Командную строку (Windows Командный Процессор)в качестве администратора и выполнить команду, которую вы упомянули. вы получите результат, как показано ниже:

C:\windows\system32>javaw -XX:+PrintFlagsFinal | find "MaxHeapSize"

uintx MaxHeapSize                              := 2122317824      {product}

C:\windows\system32>javaw -XX:+PrintFlagsFinal | find "InitialHeapSize"

uintx InitialHeapSize                          := 132531136       {product}

здесь блок из MaxHeapSize и InitialHeapSize является байт.


попробуйте команду ниже для получения подробного результата

java -XX:+PrintFlagsFinal -version | findstr /i "HeapSize PermSize ThreadStackSize"

результат

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)

Используйте JConsole. Он поставляется с JDK. Вы найдете его исполняемый файл в соответствующем каталоге bin.