【问题标题】:Can't install modules, Cannot allocate memory error?无法安装模块,无法分配内存错误?
【发布时间】:2015-03-26 18:01:23
【问题描述】:

我刚刚推出了一个新的EC2 ubuntu t1.micro。我安装了R 3.1.2,当我尝试安装任何模块时,我得到:

Warning messages:
1: In system2(cmd0, args, env = env, stdout = outfile, stderr = outfile) :
  system call failed: Cannot allocate memory
2: In install.packages("zoo") :
  installation of package ‘zoo’ had non-zero exit status

我在another question 上读到这可能是因为交换内存,但在我的情况下,内存设置为 60,我认为应该没问题。

当我运行 .libsPaths() 时,我得到了

> .libPaths()
[1] "/usr/local/lib/R/site-library" "/usr/lib/R/site-library"      
[3] "/usr/lib/R/library"

一开始 R 抱怨它没有在/usr/lib/R/library 上写的权限,但在我更改目录权限后,错误就消失了。

任何有关如何使其工作的线索将不胜感激。 谢谢

【问题讨论】:

  • 你好@Amstell,实际上在我的问题中我引用了那个问题,我说这种方法对我不起作用,这就是我问一个新问题的原因......
  • 是的,你是对的......也许添加链接......
  • 在他的回答中,他说将交换使用量更改为 30,但您说它是 60,所以我建议尝试一下,重新启动,然后再试一次。
  • @Amstell 已经做到了。

标签: r memory amazon-ec2


【解决方案1】:

所以我在一个更大的 (t1.small) 实例下测试了完全相同的操作,它运行良好。看起来 R 不能很好地与 EC2 t1.micro 实例配合使用。

这两种实例的主要区别在于 t1.micro 有 0.6GB 内存,而 t1.small 有 1.7GB。

无法在 t2 类型的实例下对其进行测试,它们可能表现更好。

【讨论】:

    【解决方案2】:

    找到了解决方法。您可以使用 Rscript 形式的命令行:

    Rscript -e "install.packages('urca', repos='http://cran.us.r-project.org')"
    

    使用 AWS、Amazon Linux、t2.micro 实例。

    【讨论】:

      猜你喜欢
      • 2012-09-08
      • 2016-07-27
      • 2013-09-16
      • 1970-01-01
      • 1970-01-01
      • 2017-12-07
      • 2016-04-17
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多