我在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
答案 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设置中更改此设置。