我有一份我写过的Rescript,它正在我的Mac OSX上运行所有依赖项。
我现在已经在AWS上设置了t2.micro并安装了R而没有任何问题。我跑的时候
install.packages("dplyr")
它只是冻结在这一行
g++ -m64 -I/usr/include/R -DNDEBUG -I../inst/include -DCOMPILING_DPLYR -I/usr/local/include -I"/usr/lib64/R/library/Rcpp/include" -I"/usr/lib64/R/library/BH/include" -DBOOST_NO_INT64_T -DBOOST_NO_INTEGRAL_INT64_T -DBOOST_NO_LONG_LONG -fpic -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic -c dplyr.cpp -o dplyr.o
我离开了几个小时,没有任何变化。它看起来像CPU正在突破,因为我们将会这样做。
我该怎么办?
答案 0 :(得分:4)
对于有同样问题的人,请参阅下面的解决方法。
问题是t2.micro没有能力安装脚本的依赖项。
那我怎么解决这个问题呢?我创建了一个t2.large,从命令行安装了所有依赖项。然后从AWS控制台创建一个快照,将其转换为图像,然后将一个卷转换为一个新的t2.micro,它现在正在工作。
答案 1 :(得分:0)
虽然调整实例大小是一个可行的选择,但如果您绝对希望保留在免费套餐的t2.micro实例中,则可以借鉴Raspberry Pi用户的技巧并设置交换空间。以下代码为内存交换设置了一个3GB的文件。
sudo /bin/dd if=/dev/zero of=/var/swap.1 bs=1M count=3072
sudo /sbin/mkswap /var/swap.1
sudo /sbin/swapon /var/swap.1
sudo sh -c 'echo "/var/swap.1 swap swap defaults 0 0 " >> /etc/fstab'
然后像往常一样安装dplyr,例如
sudo su - -c "R -e \"install.packages('dplyr', repos='http://cran.rstudio.com/')\""
交换空间不会像在EBS上那样快,但是可以完成工作。昨晚我是在t2.micro ubuntu 18.04实例上完成的