Я использую os.system call из python для запуска jar-файла.
JAR-файл требует большого пространства кучи, и поэтому я выделяю пространство кучи 4 Гб, используя Xmx.
Когда я выполню команду
"java -Xms4096m -Xmx4096m -jar camXnet.jar net.txt"
из командной строки он выполняется правильно, однако, когда я вызываю его из программы на Python через os.system, он работает только в том случае, если выделенная память меньше 4 ГБ, в противном случае он не выполняется.
Любые решения?
Под неудачным выполнением я подразумеваю, что появляется командное окно, указывающее, что os.system была вызвана, и затем она исчезает, я проверю код ошибки, если таковой был возвращен. однако никаких проблем не возникает, если для xmx, xms установлено меньшее значение.
Хорошо, я проверил обе версии, и есть разница. Одна из них, вызываемая через python, - это смешанный режим Java HotSpot Client VM, общий доступ, а одна из вызываемых через обычную командную строку - 64-битный сервер Java HotSpot
Как заставить os.system в python вызывать правильный 64-битный сервер.
ОБНОВЛЕНИЕ: я попытался использовать модуль подпроцесса, но версия возврата Java такая же, как и в os.system