Grakn mem issue windows instalação local
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
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.