Mathematica & J/Link: Ограничения памяти?

Если вы работаете на платформе Android JNI. Поместите это в свой Android.mk:

LOCAL_CPPFLAGS := -D__STDC_FORMAT_MACROS
6
задан D-Bug 14 June 2009 в 14:26
поделиться

1 ответ

ReinstallJava принимает параметр JVMArguments . Вы можете использовать его для передачи размера кучи следующим образом:

In[1]:= Needs["JLink`"]

In[2]:= Options[ReinstallJava]

Out[2]= {ClassPath -> Automatic, CommandLine -> Automatic, 
 JVMArguments -> None, ForceLaunch -> False, Default -> Automatic, 
 CreateExtraLinks -> Automatic, "Asynchronous" -> Automatic}

In[3]:= ?JVMArguments

JVMArguments is an option to InstallJava that
allows you to specify additional command-line
arguments passed to the Java virtual machine at
startup. The string you specify is added to the
command line used to launch Java. You can use this
option to specify properties with the standard -D
syntax, such as "-Dsome.property=true". This
option is not supported on Mac OSX. >>

In[4]:= LoadJavaClass["java.lang.Runtime"];

In[5]:= java`lang`Runtime`getRuntime[]@maxMemory[]

Out[5]= 238616576

In[6]:= ReinstallJava[JVMArguments -> "-Xmx64g"];

In[7]:= LoadJavaClass["java.lang.Runtime"];

In[8]:= java`lang`Runtime`getRuntime[]@maxMemory[]

Out[8]= 61084008448

(Однажды я понял это в отчаянии, прочитав код в C: \ Program Files \ Wolfram Research \ Mathematica \ 7.0 \ SystemFiles \ Links \ JLink \ Ядро . Заметив, что оно было указано в Options [ReinstallJava] , это казалось очевидным…)

9
ответ дан 9 December 2019 в 20:48
поделиться
Другие вопросы по тегам:

Похожие вопросы: