Проблема с Grakn mem локальная установка Windows
У меня нет технического образования. Я установил grakn локально на окнах в папку, я могу запустить сервер и использовать рабочую базу, однако, когда я попытался выполнить вычислительный запрос в руководстве по документации (social_network), он выдает ошибку:
2020-08-18 16: 59: 33,614 [прослушиватель транзакции] ОШИБКА gcsrSessionService $ TransactionListener - исключение времени выполнения в RPC TransactionListener: java.lang.IllegalArgumentException: системная память 259522560 должна быть не менее 471859200. Увеличьте размер кучи с помощью --driver опция -memory или spark.driver.memory в конфигурации Spark.
Затем я установил переменные env:
"SERVER_JAVAOPTS": -Xmx4G
"STORAGE_JAVAOPTS": -Xmx4G
Результат nok:
Запуск хранилища .... НЕУДАЧИ!
Невозможно запустить хранилище.
Процесс завершился с кодом '1': 'Ошибка: не удалось создать виртуальную машину Java.Ошибка: возникла фатальная исключительная ситуация. Программа будет закрыта.
Недопустимый максимальный размер кучи: -Xmx4G
Указанный размер превышает максимально допустимый размер.Произошла ошибка во время загрузки. Пожалуйста, запустите 'grakn server status' или проверьте журналы, расположенные в каталоге 'журналов'.
Процесс завершился с кодом '1': 'Ошибка: не удалось создать виртуальную машину Java.Ошибка: возникла фатальная исключительная ситуация. Программа будет закрыта.
Недопустимый максимальный размер кучи: -Xmx4G
Указанный размер превышает максимально допустимый размер.
Затем я установил переменные env:
"SERVER_JAVAOPTS": -Xmx2G
"STORAGE_JAVAOPTS": -Xmx2G
Итог снова нок:
Запуск хранилища .... НЕУДАЧИ!
Невозможно запустить хранилище.
Процесс завершен с кодом '1': ''Произошла ошибка во время загрузки. Пожалуйста, запустите 'grakn server status' или проверьте журналы, расположенные в каталоге 'журналов'.
Процесс завершен с кодом '1': ''
Затем я установил переменные env для этого:
"SERVER_JAVAOPTS": -Xmx1G
"STORAGE_JAVAOPTS": -Xmx1G
Результат сейчас в порядке:
Starting Storage......SUCCESS
Starting Grakn Core Server.....SUCCESS
... но почему я не могу назначить больше памяти? У меня всего 32 ГБ, а использование составляет около 20%. Спасибо заранее.
Ответы
Для этого есть две возможные причины:
- JVM не может выделить 4G RAM, потому что он занят чем-то другим. Однако, как вы сказали, используется только 20% оперативной памяти, это маловероятная причина.
- 32-разрядная JVM не может адресовать более 4 ГБ ОЗУ 1 , поэтому вам следует проверить, подходит ли это вам, и переустановить JVM, чтобы она была 64-разрядной, если это так.