学校的课五门有四门需要跑R程序,有一些长长长的代码实在是占用了太多的内存,果断决定搭个R的服务器放着自己跑。

愉快的是,R studio server 的搭建真心简单快捷~这个从前被我忽略的东东终于排上用场啦!

超级简单实用咩哈哈~

首先开一个新的虚拟机

搭建过程要点:

  • 本篇基于Ubuntu Server 16.04, Deployment Model 请选 classic
  • 关于size: 如果要在R里面跑大程序的画,选内存大的肯定是有用哒!看需求吧~

对于以下代码,放个A0机子和DS1的对比:

  1. g <- rnorm(1000000)
  2. h <- rep(NA, 1000000)
  3. # Start the clock!
  4. ptm <- proc.time()
  5. # Loop through the vector, adding one
  6. for (i in 1:1000000){
  7. h[i] <- g[i] + 1
  8. }
  9. # Stop the clock
  10. proc.time() - ptm

Basic A0 (0.25 Cores, 0.75 GB memory)

  1. > proc.time() - ptm
  2. user system elapsed
  3. 6.104 0.180 6.294

Standard DS1_v2 (1 Core, 3.5 GB memory)

  1. > proc.time() - ptm
  2. user system elapsed
  3. 1.148 0.004 1.359
  • 设置--终结点, 配置Rstudio的TCP 端口. (默认8787)
  1. Rstudio (TCP/8787 8787)

具体过程就不一步步的截图啦,请移步另一篇博客参考一下啦

国际版Azure搭建L2TP VPN

安装R-core

有一次我居然非常蠢萌地忘记了安装R!!!!!= =

  1. $ sudo apt-get install r-base

配置 Rstudio Server

Rstudio Server 官网

Download the RStudio Server Professional Admin Guide

  1. $ sudo apt-get update
  2. $ sudo apt-get install gdebi-core
  3. $ wget https://download2.rstudio.org/rstudio-server-0.99.903-amd64.deb
  4. $ sudo gdebi rstudio-server-0.99.903-amd64.deb
  5. $ sudo rstudio-server restart

服务器地址:

  1. http://<server-ip>:8787

大功告成!


友情Tips:

  • 用户名密码即Linux系统里面的既有用户。如果要新增用户在Linux里面adduser就可以啦。

  • 不同用户之间的r package是不共享的。如果需要设置共享R Library,需要额外设置。

解放内存之搭建自己的 R Server的更多相关文章

  1. 基于 Dropbear & Zlib 搭建轻量级的ssh server

    [目的] 移植dropbear & zlib 在AM335X开发板上搭建轻量级的ssh server [环境] 1.  Ubuntu 16.04发行版 2.  MC183平台 3.  交叉编译 ...

  2. (转)ubuntu 12.04搭建Adobe Flash Media Server服务

    破解版传送门:http://fms45.cuplayer.com/fms4download.html 福利:1462-5247-1705-7678-8379-5590 下载解压 cd进目录,./ins ...

  3. 企业级监控软件zabbix搭建部署之zabbix server的安装

    企业级监控软件zabbix搭建部署之zabbix server的安装 zabbix线上已经应用半年多了,关于zabbix在生产环境中的使用心得,以及一些经验写下来,希望让大家少走弯路,共同学习! 环境 ...

  4. clients(PV操作共享内核内存进行输入输出分屏) - server(进程间通信)模型实现

    1.拓扑结构 2.PV操作共享内核内存进行输入输出分屏 (1) int semop(int semid,struct sembuf *sops,size_t nsops): 功能描述 操作一个或一组信 ...

  5. Ubuntu 搭建简单的git server

    Git 可以使用四种主要的协议来传输资料:本地协议(Local),HTTP 协议,SSH(Secure Shell)协议及 Git 协议. 在此,我们将会讨论那些协议及哪些情形应该使用(或避免使用)他 ...

  6. 1分钟搭建极简mock server

    1.无聊的背景.起源: 如今的业务系统越来越复杂庞大,各个功能直接的调用也是多如牛毛,但如果在联调的时候,恰好被调的接口正在开发,怎么办?傻傻的等么,不存在的!这时会搭建一些server来进行mock ...

  7. Webservice WCF WebApi 前端数据可视化 前端数据可视化 C# asp.net PhoneGap html5 C# Where 网站分布式开发简介 EntityFramework Core依赖注入上下文方式不同造成内存泄漏了解一下? SQL Server之深入理解STUFF 你必须知道的EntityFramework 6.x和EntityFramework Cor

    Webservice WCF WebApi   注明:改编加组合 在.net平台下,有大量的技术让你创建一个HTTP服务,像Web Service,WCF,现在又出了Web API.在.net平台下, ...

  8. 轻松搭建CAS 5.x系列(2)-搭建HTTPS的SSO SERVER端

    概要说明 CAS要求,必须使用HTTPS的服务,否则就只等实现登录,无法实现单点登录.科普下HTTPS,网站有HTTP和HTTPS两种协议.HTTP是浏览器到网站之间是明文传输,比如你输入帐号名和密码 ...

  9. 篇章一:SVN服务搭建【基于Windows server 2008R2 + Windows7】

    1.软件下载 1.1 软件介绍 Subversion是优秀的版本控制工具,其具体的的优点和详细介绍,这里就不再多说. 首先来下载和搭建SVN服务器. 现在Subversion已经迁移到apache网站 ...

随机推荐

  1. UVALive 6915 J - Leveling Ground

    思路: 简单模拟下.从左向右扫描一次,求出挖出该区间空地的花费,并取个最小值即可. 至于怎么求区间内的高度最小值,就用线段树就好了. #include <bits/stdc++.h> #d ...

  2. 【leetcode刷题笔记】Majority Element

    Given an array of size n, find the majority element. The majority element is the element that appear ...

  3. Python面试题之Python对象反射、类反射、模块反射

    python面向对象中的反射:通过字符串的形式操作对象相关的属性.python中的一切事物都是对象(都可以使用反射) 一.getattr 对象获取 class Manager: role = &quo ...

  4. SpringBoot AOP控制Redis自动缓存和更新

    导入redis的jar包 <!-- redis --> <dependency> <groupId>org.springframework.boot</gro ...

  5. Percona-Server-5.7.16 启动错误

    基于:percona-server-5.7.16 启动报错:  [root@monitor mysql]# ./bin/mysqld_safe --defaults-file=/data/config ...

  6. Keras实现autoencoder

    Keras使我们搭建神经网络变得异常简单,之前我们使用了Sequential来搭建LSTM:keras实现LSTM. 我们要使用Keras的functional API搭建更加灵活的网络结构,比如说本 ...

  7. 解析JDK动态代理实现原理

    JDK动态代理使用实例 代理模式的类图如上.关于静态代理的示例网上有很多,在这里就不讲了. 因为本篇讲述要点是JDK动态代理的实现原理,直接从JDK动态代理实例开始. 首先是Subject接口类. p ...

  8. HDU 1241 油田

    这道题明明很简单但不知道为什么运行结果一直错,但提交却是对的!代码真是神奇,不过我猜测可能是提上给出的数据错了,可能提上给的数据m和n后多给了一个空格或回车,但题的数据没有 #include<s ...

  9. scala学习手记24 - 多参数函数值

    上一节的函数值只有一个参数.函数值当然也是可以有多个参数的.看一下下面的inject方法: def inject(arr: Array[Int], initial: Int, operation: ( ...

  10. scala学习手记19 - Option类型

    看到Option类型就知道这本教材应该要说那个了. 使用过guava后,应该知道guava中的Optional类的作用是什么.算了找下原始文档好了: Optional<T> is a wa ...