R不使用超过4GB的内存

时间:2013-03-24 01:57:13

标签: r ubuntu ram rstudio ubuntu-12.10

我在Ubuntu 12.10 AMD64上运行64位R。我最近为我的系统添加了额外的8GB内存,总共12GB。但是我注意到,只要内存使用量(单个R会话)超过4GB,R就会给出错误。当我并行运行6个R会话时,每个会话消耗大约3 GB的内存,我的内存使用量增加到11 GB。但单个R会话不能使用超过4GB! 我需要在大型数据集上训练随机森林模型,我需要> 4GB,单个R会话。

更新

R> sessionInfo()

R version 2.15.1 (2012-06-22)
Platform: x86_64-pc-linux-gnu (64-bit)

locale:
 [1] LC_CTYPE=en_US.UTF-8       LC_NUMERIC=C              
 [3] LC_TIME=en_US.UTF-8        LC_COLLATE=en_US.UTF-8    
 [5] LC_MONETARY=en_US.UTF-8    LC_MESSAGES=en_US.UTF-8   
 [7] LC_PAPER=C                 LC_NAME=C                 
 [9] LC_ADDRESS=C               LC_TELEPHONE=C            
[11] LC_MEASUREMENT=en_US.UTF-8 LC_IDENTIFICATION=C       

attached base packages:
[1] stats     graphics  grDevices utils     datasets  methods  
[7] base     

loaded via a namespace (and not attached):
[1] tools_2.15.1

更新2:

$ ulimit -a
core file size          (blocks, -c) 0
data seg size           (kbytes, -d) unlimited
scheduling priority             (-e) 0
file size               (blocks, -f) unlimited
pending signals                 (-i) 92787
max locked memory       (kbytes, -l) 64
max memory size         (kbytes, -m) unlimited
open files                      (-n) 1024
pipe size            (512 bytes, -p) 8
POSIX message queues     (bytes, -q) 819200
real-time priority              (-r) 0
stack size              (kbytes, -s) 8192
cpu time               (seconds, -t) unlimited
max user processes              (-u) 92787
virtual memory          (kbytes, -v) unlimited
file locks                      (-x) unlimited

2 个答案:

答案 0 :(得分:1)

我怀疑您有适当的流程限制,将任何给定流程限制为4G。

尝试ulimit -a并查找与内存相关的任何非无限值。

另外,检查文件/etc/security/limits.conf/etc/security/limits.d/中的所有文件,了解有关内存限制的条目。

特别是这两个:

data
as

有关PAM可以强制执行的配额,请参阅man limits.conf

答案 1 :(得分:0)

在Windows操作系统中,默认情况下,R安装32位和64位版本。虽然看起来Linux没有。如果您使用的是像RStudio这样的IDE,如果已安装,则指向32位版本。您可以在Rstudio设置中更改此设置。