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

Memory 哪个操作系统给R的内存最多?,memory,r,operating-system,Memory,R,Operating System,到目前为止,我一直在32位Windows XP机器上使用R,为R提供了2GB的可用内存(使用--max mem size=2047M)。在最近一个涉及置换测试的项目中(使用coin包),这是不够的(即无法分配大小的向量…) 因此,我希望在给我最大内存的环境中运行R。我有一台4GB四核电脑可用于这项工作(不是我的台式电脑,所以我可以用它玩一玩,甚至可以通过远程桌面使用它)。 我应该使用哪个操作系统来使用最多的内存64位Windows(即7)或Linux?如果是Linux,是哪个发行版? 到目前为止

到目前为止,我一直在32位Windows XP机器上使用R,为R提供了2GB的可用内存(使用
--max mem size=2047M
)。在最近一个涉及置换测试的项目中(使用
coin
包),这是不够的(即
无法分配大小的向量…

因此,我希望在给我最大内存的环境中运行R。我有一台4GB四核电脑可用于这项工作(不是我的台式电脑,所以我可以用它玩一玩,甚至可以通过远程桌面使用它)。
我应该使用哪个操作系统来使用最多的内存64位Windows(即7)或Linux?如果是Linux,是哪个发行版?

到目前为止,我还没有使用过Linux,所以易于使用和安装肯定是一个优势。此外,到目前为止,我一直在使用Notepadd++和NPPtoR,如果我也能继续使用它,那就太好了。但是,大多数可用内存是主要目标。

如果以连续形式可用,GNU/Linux或Windows都可以为R提供大量内存。如果你对Windows没有特别的需求,GNU/Linux可能是一个更好的选择,而Ubuntu现在似乎是大多数人的起点


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

Windows风格在操作系统识别的总物理内存方面比Linux(256TB)更有限,即使在64位模式下也是如此

Windows7终极版 192 GB

Windows7企业版192 GB

Windows 7 Professional 192 GB

Windows 7家庭高级16 GB

Windows 7 Home Basic 8 GB

Windows7Starter2GB


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

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

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

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

实际上,64位版本的R可能会出现性能下降,因为指针宽度加倍,因此内存占用更大。然而,如果这有任何意义,我会感到惊讶

您可以同时安装32位和64位版本,但如果您可以只安装一个版本,我始终建议您这样做-它使维护变得更加容易

由于您的机器只有4GB内存,使用64位版本的R可能不会带来太多好处。64位版本的Windows会有很大的不同,但是如果您也使用64位版本的R,实际上,如果使用4GB内存,那么您可能会看到大量磁盘抖动,并且您的计算将花费永远的时间


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

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

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

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


这就是说,Ubuntu提供的最新版本R是2.11.1,所以您需要按照第页的说明获得最新版本。HTH.

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

而且,如果你真的想最大化你的内存,选择一个最小的(KISS)系统而不是Ubuntu,或者选择或使用。我宁愿建议还是不建议


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

XP、Vista、WindowsServer2003也有64位版本,不仅仅是Windows7,Windows7也有32位版本。这里的答案对你有用吗?有没有可能得到一些反馈?谢谢所有有用的评论。到目前为止,我看不到改变Linux有什么特别的好处。因此,我将从其中一个开始