作者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/m.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