Пространство "кучи" Java параметры Xmx Xms проигнорировано

У меня есть.JAR, который, по-видимому, израсходовал слишком много памяти и выдает исключение "пространство "кучи" Java" (или что-то подобное).

Таким образом, я пытался выполнить.JAR через CMD как это:

C:\MyFolder>javaw -jar MyJar.jar -Xms64m -Xmx128m

Это не решило проблему. Та же ошибка. Теперь, когда я проверил вкладку Processes в диспетчер задач окон, я заметил, что процесс моей банки имеет намного меньше памяти, чем, что я попросил (то же как выполнение его без параметров).

Почему это игнорирует параметры?

Кроме того, я думаю, что исключение выдается во время, процесс достигает 100 МБ использования памяти. Действительно ли возможно, что GC пытается освободить память, и это - то, что вызывает проблему? Есть ли какой-либо параметр, который я могу установить, чтобы GC предотвратил это?

Спасибо, Malki :)

8
задан peterh says reinstate Monica 17 October 2016 в 07:52
поделиться

1 ответ

Команда

javaw -jar MyJar.jar -Xms64m -Xmx128m

будет использовать -Xms ... и -Xmx ... в качестве параметров метода "main (String [] args)".
Параметры с до JVM должны быть переданы перед частью -jar:

javaw -Xms64m -Xmx128m -jar MyJar.jar

Причину этого можно увидеть, когда мы выполняем «java -version»:

Usage: java [-options] class [args...]
           (to execute a class)
   or  java [-options] -jar jarfile [args...]
           (to execute a jar file)

Где ваши параметры -Xms ... и -Xmx ... - это параметры JVM.

25
ответ дан 5 December 2019 в 06:36
поделиться
Другие вопросы по тегам:

Похожие вопросы: