哪个操作系统给R带来的内存最多?

时间:2011-02-21 12:44:05

标签: memory r operating-system

到目前为止,我一直在32位Windows XP计算机上使用R,从而为R提供2 GB的可用内存(使用--max-mem-size=2047M)。在最近涉及排列测试的项目中(使用coin包),这还不够(即cannot allocate vector of size ...)。

因此,我想在一个给我最大记忆的环境中运行R 。我有一台4GB的四核电脑用于这项工作(不是我的台式电脑,所以我可以稍微玩一下,甚至可以通过远程桌面使用它。)
我应该使用哪种操作系统来使用最多的内存? 64位Windows(即7)还是Linux?如果Linux,哪个发行版?
到目前为止,我还没有使用Linux,因此易于使用和安装肯定会是一个加分。此外,到目前为止,我一直在使用Notepadd ++和NPPtoR,如果我能够继续使用它,那将会非常棒。但是,大多数可用内存是主要目标。

5 个答案:

答案 0 :(得分:4)

我将在这个答案中谈论Windows。我对其他操作系统一无所知,所以我不会因为不谈论它们而使自己难堪。我不会对Windows或Linux中的哪一个比另一个更好或更差做出任何判断。

如今,您总是希望使用64位版本的Windows而不是32位版本。 64位版本的Windows完美地运行32位程序(有时甚至比Windows管理的32位版本快一点)。当您在64位Windows下运行32位程序时,它可以访问4GB的地址空间。在32位Windows下,它只获得2GB的地址空间。因此,即使您坚持使用32位R,您也可以在64位Windows下拥有更多的头部空间。

然而,现在有64位版本的R。这不如32位版本成熟,但它很可能满足您的需求。您可能需要检查软件包兼容性,因为某些软件包可能还不支持Windows上的64位R。

使用64位版本的R实际上可能会遇到性能下降,因为指针宽度加倍,因此内存占用量更大。但是,如果这一点非常重要,我会感到惊讶。

您可以并排安装32位和64位版本,但如果您只使用一个版本,我总是建议这样做 - 它使维护变得更加容易。

由于你的机器只有4GB的内存,使用64位版本的R可能没有那么多。64位版本的Windows会有很大的不同,但是如果你去64位R的版本,实际上使用4GB的内存,然后你可能会看到很多磁盘抖动,你的计算将永远。

最后,当面临内存资源短缺时,通常可以找到组织代码的其他方法,以便您完全避免这个问题。由于我们没有您的R代码的详细信息,我们无法判断这是否是这种情况,但可能值得考虑。

答案 1 :(得分:3)

如果GNU / Linux或Windows以连续的形式提供,它们可以为R提供足够的内存。如果你没有特别需要Windows,GNU / Linux可能是一个更好的选择,而Ubuntu是大多数人似乎最近开始的地方。

R中的主要限制是单个矢量的长度是2 ^ 31(尽管你可以有多个最大长度矢量的列表),但是这对于大多数用途来说应该是足够的并且超过你的4Gb。

答案 2 :(得分:2)

如果你想要最大化你的可用物理内存,你应该使用Linux,因为它不需要像在例如中那样运行任何不需要的GUI。 MS Windows。这对商业应用来说不是冒犯,只是一个实际的选择:)

而且,如果你真的想要最大化你的RAM,选择一个最小(KISS)系统而不是Ubuntu,或者选择Ubuntu ServerCLI version。我建议DebianArch

如果您不熟悉Linux,请检查简单安装,例如:在howtoforge.com上并通过终端中的R命令运行R.此外,在文件名中选择 amd64 的图像进行下载(64位)。祝你好运!

答案 3 :(得分:1)

即使在64位模式下,Windows风格在操作系统识别的总物理内存中也比Linux(256TB)更受限制。

http://msdn.microsoft.com/en-us/library/aa366778(v=vs.85).aspx#physical_memory_limits_windows_7

Windows 7旗舰版  192 GB

Windows 7 Enterprise 192 GB

Windows 7 Professional 192 GB

Windows 7 Home Premium 16 GB

Windows 7 Home Basic 8 GB

Windows 7 Starter 2 GB

所以这取决于你拥有哪个版本。如果你有一个更好的版本,考虑到系统中可用的资源,它可能不是这样的限制。

答案 4 :(得分:1)

根据我从Windows切换到Ubuntu的经验,我会说Ubuntu可能就是这样。我没有进行任何正式测试,但我确实注意到我的一些分析(通常涉及大型数据集)有一些明显的加速。操作系统也更加稳定,这是一个明确的优势,因为如果R遇到麻烦,至少系统不会崩溃。

如果你选择使用Ubuntu,gedit可能是最好的编辑器。您可以获得一个插件,它将在文本编辑器空间下面打开一个R窗口,它与N ++非常相似。 Gedit预装了发行版。

Ubuntu也非常容易安装 - 我把它放在两台机器上(在家里和工作场所),从来没有遇到任何问题。如果你可以使用R,那么你绝对可以处理命令行界面。

话虽如此,通过Ubuntu提供的最新版本的R是2.11.1,因此您需要按照this页面上的说明获取更新的版本。 HTH。