R 环境内存限制的更改

  由于R语言非常消耗内存,所以做较大数据的处理时需要增加内存空间,有以下种方式:

  一、  在未开启R之前,在cmd中,输入下面指令

1 r −−max−mem− s i z e =4Gb

  二、  在开启R之后,可以使用memory.limit()函数,该函数中数据数字,就是申请内存的大小,以MB为单位

1 memory.limit(4096)

下面附上memory.limit()函数的文档

memory.size {utils} R Documentation

Report on Memory Allocation

Description

memory.size reports the current or maximum memory allocation of the malloc function used in this version of R.

memory.limit reports or increases the limit in force on the total allocation.

Usage

memory.size(max = FALSE)

memory.limit(size = NA)

Arguments

max
logical. If TRUE the maximum amount of memory obtained from the OS is reported, if FALSE the amount currently in use, if NA the memory limit.

size
numeric. If NA report the memory limit, otherwise request a new limit, in Mb. Only values of up to 4095 are allowed on 32-bit R builds, but see ‘Details’.

Details

Command-line flag --max-mem-size sets the maximum value of obtainable memory (including a very small amount of housekeeping overhead). This cannot exceed 3Gb on 32-bit Windows, and most versions are limited to 2Gb. The minimum is currently 32Mb.

If 32-bit R is run on most 64-bit versions of Windows the maximum value of obtainable memory is just under 4Gb. For a 64-bit versions of R under 64-bit Windows the limit is currently 8Tb.

Memory limits can only be increased.

Environment variable R_MAX_MEM_SIZE provides another way to specify the initial limit.

Value

Size in Mb (1048576 bytes), rounded to 0.01 Mb for memory.size and rounded down for memory.limit.

See Also

Memory-limits for other limits.

The rw-FAQ for more details and references.

Examples

memory.size()
memory.size(TRUE)
memory.limit()
时间: 2024-11-10 20:36:43

R 环境内存限制的更改的相关文章

R之内存管理

引言 R的内存管理机制究竟是什么样子的?最近几日在讲一个分享会,被同学问到这方面的问题,可是到网上去查,终于找到一篇R语言内存管理不过讲的不清不楚的,就拿memory.limit()函数来说,是在windows下才使用的,作者几乎没有提及,还有rm(),gc()函数到底怎么工作的,什么时候用,都无从提及.看来百度是解决不了了,关键时候还是靠google啊,这不,很快找到了一篇相当不错的文章Memory,还是人家外国人比较注重细节,下面的部分几乎是从那儿翻译过来的.需要学习R的高级编程的同学,可以

【R笔记】R的内存管理和垃圾清理

R输入命令时速度不要太快,终究是个统计软件,不是编程! 写R程序的人,相信都会遇到过“cannot allocate vector of size”或者“无法分配大小为...的矢量”这样的错误.原因很简单,基本都是产生一个大矩阵等对象时发生的,最干脆的解决办法有两种,第一种是加大内存换64位系统,第二种是改变算法避免如此大的对象.第一种办法,是最好的办法,不过大对象的需求是没有止尽的,终究不是长久之道.第二种办法是最好的思路,无论多么大的对象都是可以弄小的,无非就是分而治之.时间换空间等,对算法

java环境内存不够用

swap在工作中,特别是java环境,程序写的有问题,会发生内存泄漏,可能会占用swap. 协调让开发改程序,运维可以临时增大swap. 第一步:创建一个块文件 [[email protected] ~]# dd if=/dev/zero of=/tmp/swap bs=1M count=128 128+0 records in 128+0 records out 134217728 bytes (134 MB) copied, 3.68138 s, 36.5 MB/s 第二步:让这个文件成为s

linux环境内存分配原理 mallocinfo

Linux的虚拟内存管理有几个关键概念: Linux 虚拟地址空间如何分布?malloc和free是如何分配和释放内存?如何查看堆内内存的碎片情况?既然堆内内存brk和sbrk不能直接释放,为什么不全部使用 mmap 来分配,munmap直接释放呢 ? Linux 的虚拟内存管理有几个关键概念: 1.每个进程都有独立的虚拟地址空间,进程访问的虚拟地址并不是真正的物理地址: 2.虚拟地址可通过每个进程上的页表(在每个进程的内核虚拟地址空间)与物理地址进行映射,获得真正物理地址: 3.如果虚拟地址对

R环境中的工作空间(workspace)

工作空间(workspace)就是当前R的工作环境,它储存着全部用户定义的对象(向量.矩阵.函数.数据框.列表) . 在一个R会话结束时,你能够将当前工作空间保存到一个镜像中.并在下次启动R时自己主动加载它. 各种命令可在R命令行中交互式地输入.使用上下方向键查看已输入命令的历史记录. 这样我们就能够选择一个之前输入过的命令并适当改动,最后按回车又一次运行它. 当前的工作文件夹(working directory)是R用来读取文件和保存结果的默认文件夹.我们能够使用函数getwd()来查看当前的

CentOS 7下搭建R环境

1.下载R软件 使用下面命令下载R软件 wget http://mirror.bjtu.edu.cn/cran/src/base/R-3/R-3.0.1.tar.gz 下载结果如图所示: 2.解压 执行下列命令解压R软件,并切换到解压目录中. tar -zxvf R-3.0.1.tar.gz #解压命令 cd R-3.0.1 #切换目录 3.安装 安装R软件,并设置好工作路径,后面配环境变量时需要. yum install readline-devel yum install libXt-dev

Java运行时环境---内存划分

背景:听说Java运行时环境的内存划分是挺进BAT的必经之路. 内存划分: Java程序内存的划分是交由JVM执行的,而不像C语言那样需要程序员自己买单(C语言需要程序员为每一个new操作去配对delete/free代码),放权给JVM虚拟机处理有利也有弊,好处是不容易出现内存泄漏和内存溢出问题,坏处就是自己的屁股不能自己擦,万一有一天JVM罢工不释放了,还是自个忘了释放,So了解虚拟机容易引起内存泄漏和溢出的场景对Java程序员来说还是必不可少的.[内存泄漏:Out Of Memmory,系统

Ubuntu 14.04 安装R 环境

Introduction R is a popular open source programming language that specializes in statistical computing and graphics. It is widely used by statisticians for developing statistical software and performing data analysis. One of R's strengths is that it

R You Ready?——大数据时代下优雅、卓越的统计分析及绘图环境

作者按:本文根据去年11月份CSDN举办的“大数据技术大会”演讲材料整理,最初发表于2012年2月期<程序员>杂志. 1. 历史 R(R Development Core Team, 2011)语言由新西兰奥克兰大学的 Ross Ihaka 和 Robert Gentleman 两人共同发明,其词法和语法分别源自 Scheme 和 S 语言,R 语言一般认为是 S 语言(John Chambers, Bell Labs, 1972)的一种方言.R 是“GNU S”, 一个自由的.有效的.用于统