"R console memory limits"

sb
sb New Altair Community Member
edited November 5 in Community Q&A
In using the R console, I get the following error  'Error: cannot allocate vector of size 412.8 Mb'.

Running memory.limit() gives 2048, and I am unable to increase it.

I am using 64 bit Windows, with R-64, and this limit is not there when I run R separately.

Is there some setting with the R addon that I should look into?

Thanks for any help.
-sb
Tagged:

Answers

  • keith
    keith New Altair Community Member
    Are you also running 64-bit RapidMiner (64 bit JVM)?
  • sb
    sb New Altair Community Member
    Yes, I am running 64 bit RapidMiner and JVM
    Thx.
  • keith
    keith New Altair Community Member
    What happens when you try to increase the memory limit?  Are you getting a specific error message?

    When I try running RM 64-bit with R 64-bit on XP64, I am able to increase the limit:

    starting httpd help server ... done
    memory.limit()
    [1] 2047
    memory.limit(8192)
    [1] 8192
    Under Tools->Preferences->R, what is the setting "rapidminer.r.native lib" set to?  Mine is: C:\Program Files\R\R-2.12.1\library\rJava\jri\x64\jri.dll
  • sb
    sb New Altair Community Member
    It appears that this was a bug with R 2.11 - trying to increase memory.limit(xxxx) beyond 4095 gives an error.  Updated my R installation to 2.13, and it now allows me to increase the limit.

    When I run R outside of RMiner, memory.limit() shows the full ram. But R from inside RMiner only shows 2048. Is there some installation parameter that I am missing?

    Thx.
  • keith
    keith New Altair Community Member
    Ah yes, in 2.11 there was a problem setting memory.limit higher than 4GB on Win x64.  I think the inability to set it higher is a JRI limitation, but including a memory.limit(8192) as the first line of your R script should bump up the memory just fine.  If it was possible to pass the command line option --max-mem-size upon starting up R (e.g. --max-mem-size=8G), that would also tell R to initially allocate more memory.