作者likuyun (吃吃吃..只会吃)
看板R_Language
标题[问题] R segment fault on linux Centos7
时间Thu Jun 29 21:39:58 2017
[问题类型]:
程式谘询
[软体熟悉度]:
使用者(已经有用R 做过不少作品)
[问题叙述]:
我在linux Centos7.3的环境下使用linux本机端的R-3.4.0,结果出现segment fault(core dump)
但使用同一台linux的RStudio server IDE执行相同code,可正常执行.
确认linux本机端开启的R与RStudio server开启的都是/srv/lib64/R/bin/R <---都是它
因为需要使用到linux排程执行R code,所以如果linux本机端的R无法正常运作,
排程执行就会有问题
[程式范例]:
我主要目的在使用JDBC连结资料库MSSQL,同样指令使用RStudio server IDE是可以运行
且正常抓SQL资料做後续运算,但使用本机端R-3.4.0却不行
library(RJDBC)
drv <- JDBC("com.microsoft.sqlserver.jdbc.SQLServerDriver",
"/etc/jdbc/sqljdbc4.jar",
identifier.quote="`")
执行此行会直接跳出segment fault(core dump)後强制离开R,回到linux命令提示字元
[环境叙述]:
明天进公司待补...
[关键字]:
segment fault(core dump)
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 182.235.1.52
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/R_Language/M.1498743600.A.191.html
※ 编辑: likuyun (182.235.1.52), 06/29/2017 21:43:45
※ 编辑: likuyun (182.235.1.52), 06/29/2017 21:47:19
1F:→ celestialgod: 你是用crontab? 06/29 22:01
2F:→ celestialgod: crontab通常环境变数都不够,要设定 06/29 22:01
3F:→ celestialgod: 像是我都要给JAVA路径在PATH中、给JAVA_HOME 06/29 22:02
4F:→ celestialgod: 给Oracle的so档案 (for ROracle)等 06/29 22:02
5F:→ likuyun: 是的 我是用crontab 06/29 22:03
6F:→ celestialgod: so档案的连结是放在 LD_LIBRARY_PATH里面 06/29 22:04
7F:→ likuyun: 明天试看看 环境变数PATH中 加入 JDBC的资料夹绝对路径 06/29 22:05
8F:→ celestialgod: JAVA是放$JAVA_HOME/jre/lib/amd64/server 06/29 22:05
9F:→ celestialgod: PATH中放入上述的位置 06/29 22:05
10F:→ celestialgod: 反正先用library(rJava)测试crontab是否可以正常 06/29 22:06
11F:→ celestialgod: 然後测试.jinit是否可以正确吃到jar档案 06/29 22:06
12F:→ celestialgod: 最後才去试RJDBC 06/29 22:06
13F:→ celestialgod: 不过我JDBC连法跟你不同@@ 06/29 22:07
14F:→ celestialgod: 我是用.jinit 参数classpath放需要的jar档案 06/29 22:08
15F:→ celestialgod: 然後直接开JDBC 06/29 22:08
16F:→ celestialgod: 另外因为Java容易GC overhead,还有放-Xmx8g的参数 06/29 22:08
17F:→ likuyun: -Xmx8g 我都用到32G 但这次问题我搞好久搞不定 06/29 22:11
18F:→ celestialgod: 反正你照我的测试方法走一次看看,不行再来找问题QQ 06/29 22:13