Grakn mem problema installazione locale di Windows
Non ho un background tecnologico. Ho installato grakn localmente su Windows in una cartella, sono in grado di avviare il server e utilizzare la base di lavoro, tuttavia quando ho provato a eseguire la query di calcolo nel tutorial della documentazione (social_network), viene generato un errore:
2020-08-18 16: 59: 33,614 [transaction-listener] ERRORE gcsrSessionService $ TransactionListener - Eccezione runtime in RPC TransactionListener: java.lang.IllegalArgumentException: la memoria di sistema 259522560 deve essere almeno 471859200. Aumentare la dimensione dell'heap utilizzando il driver --driver -opzione di memoria o spark.driver.memory nella configurazione Spark.
Quindi imposto le variabili env:
"SERVER_JAVAOPTS": -Xmx4G
"STORAGE_JAVAOPTS": -Xmx4G
Risultato nok:
Avvio dell'archiviazione ... NON RIUSCITO!
Impossibile avviare l'archiviazione.
Processo terminato con codice "1": "Errore: impossibile creare la Java Virtual Machine.Errore: si è verificata un'eccezione irreversibile. Il programma uscirà.
Dimensione heap massima non valida: -Xmx4G
La dimensione specificata supera la dimensione massima rappresentabile.Si è verificato un errore durante l'avvio. Eseguire "grakn server status" o controllare i log che si trovano nella directory "logs".
Processo terminato con codice "1": "Errore: impossibile creare la Java Virtual Machine.Errore: si è verificata un'eccezione irreversibile. Il programma uscirà.
Dimensione heap massima non valida: -Xmx4G
La dimensione specificata supera la dimensione massima rappresentabile.
Quindi imposto le variabili env:
"SERVER_JAVAOPTS": -Xmx2G
"STORAGE_JAVAOPTS": -Xmx2G
Risultato di nuovo nok:
Avvio dell'archiviazione ... NON RIUSCITO!
Impossibile avviare l'archiviazione.
Processo terminato con il codice '1': ''Si è verificato un errore durante l'avvio. Eseguire "grakn server status" o controllare i log che si trovano nella directory "logs".
Processo terminato con il codice '1': ''
Quindi ho impostato le variabili env su questo:
"SERVER_JAVAOPTS": -Xmx1G
"STORAGE_JAVAOPTS": -Xmx1G
Il risultato ora è ok:
Starting Storage......SUCCESS
Starting Grakn Core Server.....SUCCESS
... ma perché non posso assegnare più mem? Ho un totale di 32 GB e l'utilizzo è di circa il 20%. Molte grazie in anticipo.
Risposte
Ci sono due possibili ragioni per questo:
- JVM non è in grado di allocare 4G di RAM perché è occupata da qualcos'altro. Tuttavia, come hai detto, viene utilizzato solo il 20% o la RAM, questo è un motivo improbabile.
- La JVM a 32 bit non è in grado di indirizzare più di 4 GB di RAM 1 , quindi dovresti controllare se si applica a te e reinstallare la tua JVM a 64 bit se lo fa.