Grakn mem issue windows instalação local

Aug 20 2020

Não tenho experiência em tecnologia. Instalei o grakn localmente no windows em uma pasta, consigo iniciar o servidor e usar o workbase, porém quando tentei fazer a consulta computacional no tutorial de documentação (social_network), deu um erro:

2020-08-18 16: 59: 33.614 [transaction-listener] ERROR gcsrSessionService $ TransactionListener - Runtime Exception in RPC TransactionListener: java.lang.IllegalArgumentException: System memory 259522560 deve ser pelo menos 471859200. Aumente o tamanho do heap usando o --driver opção -memory ou spark.driver.memory na configuração do Spark.

Em seguida, defino as variáveis ​​env:

 "SERVER_JAVAOPTS": -Xmx4G
 "STORAGE_JAVAOPTS": -Xmx4G

Resultado nok:

Iniciando o armazenamento .... FALHOU!
Incapaz de iniciar o armazenamento.
Processo encerrado com o código '1': 'Erro: não foi possível criar a Java Virtual Machine.

Erro: ocorreu uma exceção fatal. O programa irá encerrar.
Tamanho máximo de heap inválido: -Xmx4G
O tamanho especificado excede o tamanho máximo representável.

Ocorreu um erro durante a inicialização. Execute 'grakn server status' ou verifique os logs localizados no diretório 'logs'.
Processo encerrado com o código '1': 'Erro: não foi possível criar a Java Virtual Machine.

Erro: ocorreu uma exceção fatal. O programa irá encerrar.
Tamanho máximo de heap inválido: -Xmx4G
O tamanho especificado excede o tamanho máximo representável.

Em seguida, defino as variáveis ​​env:

 "SERVER_JAVAOPTS": -Xmx2G
 "STORAGE_JAVAOPTS": -Xmx2G

Resultado novamente nok:

Iniciando o armazenamento .... FALHOU!
Incapaz de iniciar o armazenamento.
Processo encerrado com o código '1': ''

Ocorreu um erro durante a inicialização. Execute 'grakn server status' ou verifique os logs localizados no diretório 'logs'.
Processo encerrado com o código '1': ''

Em seguida, defino as variáveis ​​env para:

 "SERVER_JAVAOPTS": -Xmx1G
 "STORAGE_JAVAOPTS": -Xmx1G

O resultado agora está ok:

Starting Storage......SUCCESS
Starting Grakn Core Server.....SUCCESS

... mas por que não posso atribuir mais mem? Tenho no total 32 GB e o uso é em torno de 20%. Muito obrigado antecipadamente.

Respostas

3 MaxVorobev Aug 20 2020 at 00:09

Existem duas possíveis razões para isso:

  • A JVM não consegue alocar 4G de RAM porque está ocupada por outra coisa. No entanto, como você disse, apenas 20% ou RAM são usados, esse é um motivo improvável.
  • JVM de 32 bits são incapazes de endereçar mais de 4 GB de RAM 1 , então você deve verificar se isso se aplica a você e reinstalar sua JVM para 64 bits se for o caso.