r
  • memory
  • heap
  • rjdbc
  • 2014-07-11 16 views 16 likes 
    16

    tôi bị lỗi sau khi chạy dbGetQuery của RJDBC 0,2-4:R RJDBC java.lang.OutOfMemoryError

    Error in .jcall(rp, "I", "fetch", stride) :  
        java.lang.OutOfMemoryError: Java heap space 
    

    Tiếp theo là mã của tôi:

    Sys.setenv(JAVA_HOME='C:/Program Files (x86)/Java/jdk1.7.0_25') 
    options(java.parameters='-Xmx1g') 
    library(rJava) 
    library(rjson) 
    library(RJDBC) 
    
    # Output Java version 
    .jinit() 
    print(.jcall("java/lang/System", "S", "getProperty", "java.version")) 
    
    jdbcDriver <<- JDBC(driverClass="oracle.jdbc.OracleDriver", classPath="C:/lib/dashboard_lib/ojdbc6.jar") 
    jdbcConnection <<- dbConnect(jdbcDriver, "...", "...", "...") 
    dataset <<- dbGetQuery(jdbcConnection, "select * from OPR_DATA.MV_REG_CTRY_MS_QUARTER_AMT") 
    

    bất cứ ai có thể giúp tôi với điều này, nhờ rất nhiều trước

    +4

    Bạn đã mệt mỏi để tăng bộ nhớ lên 4g thay vì 1g. Tôi có nghĩa là các tùy chọn thiết lập cho các tham số java là '-Xmx4g' thay vì' -Xmx1g' – athraa

    Trả lời

    12

    Chỉ cần thay đổi java.parameters thành 8GB trước khi tải gói RJDBC:

    options(java.parameters = "-Xmx8048m") 
    library("RJDBC") 
    
    1

    Bạn có thể tăng bộ nhớ như dưới đây và khởi động lại Rstudio của bạn và nó làm việc cho tôi.

    memory.limit(size=10000000000024) 
    
    Các vấn đề liên quan