Precisamos especificar obrigatoriamente os argumentos da memória de heap da JVM no arquivo bat ao chamar o arquivo .jar?
Por exemplo: start / b "" "jre7binjavaw.exe" -Xmx1G -jar XYZ.jar
Eu tenho o cenário que, em algumas máquinas, quando eu especificar explicitamente os argumentos (como acima), em seguida, exceção fatal Java é gerado!
insira a descrição da imagem aqui
Mensagem de erro: "Java Virtual Machine Launcher: Erro: não foi possível criar a máquina virtual Java. Erro: ocorreu uma exceção fatal. O programa irá encerrar."
Mas quando eu removo os argumentos, nenhum erro é reportado. Por favor, qualquer um me avise. Obrigado.
Respostas:
0 para resposta № 1Xmx é um argumento opcional que especifica o tamanho máximo de heap que pode ser usado pelo Java. Não é necessário.
Se você especificar um número muito grande, você pode obter umexceção fatal. Se você não especificar uma opção, o java escolherá o tamanho máximo do heap. Você pode encontrar o valor padrão disso no linux executando "java -XX: + PrintFlagsFinal -version | grep MaxHeapSize "
0 para resposta № 2
Você precisa atualizar as variáveis de ambiente do Windows _JAVA_OPTIONS e configurar o Xmx1024M lá. Uma vez feito isso, você pode iniciar sua JVM bem.