【问题标题】:Rstudio server crashes when loading large seurat object加载大型 seurat 对象时,Rstudio 服务器崩溃
【发布时间】:2021-09-26 23:42:33
【问题描述】:

我正在开发最新的 bioconductor_docker r-studio 服务器 (link),我想加载类似的 seurat 对象(大小 = 1.9GB)

library(Seurat)
mca <- readRDS(<path_2_seurat_file>)

但我得到了错误:

2021 年 7 月 19 日 09:20:57 [rsession-rstudio] 错误会话 hadabend;记录自:rstudio::core::Error {anonymous}::rInit(const rstudio::r::session::RInitInfo&) src/cpp/session/SessionMain.cpp:675

我认为这个错误可能是由于一些内存使用限制:

  1. 我可以在我的计算机上的 r-studio 上加载这些数据(即使 docker 容器正在运行)。 docker 容器和我的电脑(MacOS Cathalina.10.15.7)之间的 R session-info 类似。
  2. 我可以在 rstudio-server(docker 容器)上加载较小的 seurat 对象。

所以我尝试使用参数-it --memory="8g" 运行docker容器,但并没有解决问题。

您知道此问题的任何解决方案或知道如何找到解决方案吗?


以下是有关会议的补充信息:

Rstudio-server 版本:版本 1.4.1717

会话信息:

R version 4.1.0 (2021-05-18)
Platform: x86_64-pc-linux-gnu (64-bit)
Running under: Ubuntu 20.04.2 LTS

Matrix products: default
BLAS/LAPACK: /usr/lib/x86_64-linux-gnu/openblas-pthread/libopenblasp-r0.3.8.so

locale:
 [1] LC_CTYPE=en_US.UTF-8       LC_NUMERIC=C               LC_TIME=en_US.UTF-8        LC_COLLATE=en_US.UTF-8     LC_MONETARY=en_US.UTF-8   
 [6] LC_MESSAGES=C              LC_PAPER=en_US.UTF-8       LC_NAME=C                  LC_ADDRESS=C               LC_TELEPHONE=C            
[11] LC_MEASUREMENT=en_US.UTF-8 LC_IDENTIFICATION=C       

attached base packages:
[1] stats     graphics  grDevices utils     datasets  methods   base     

other attached packages:
[1] SeuratObject_4.0.2 Seurat_4.0.3      

loaded via a namespace (and not attached):
  [1] nlme_3.1-152          matrixStats_0.59.0    spatstat.sparse_2.0-0 RcppAnnoy_0.0.18      RColorBrewer_1.1-2    httr_1.4.2           
  [7] sctransform_0.3.2     tools_4.1.0           utf8_1.2.1            R6_2.5.0              irlba_2.3.3           rpart_4.1-15         
 [13] KernSmooth_2.23-20    uwot_0.1.10           mgcv_1.8-36           DBI_1.1.1             lazyeval_0.2.2        colorspace_2.0-2     
 [19] tidyselect_1.1.1      gridExtra_2.3         compiler_4.1.0        cli_3.0.0             plotly_4.9.4.1        scales_1.1.1         
 [25] lmtest_0.9-38         spatstat.data_2.1-0   ggridges_0.5.3        pbapply_1.4-3         goftest_1.2-2         stringr_1.4.0        
 [31] digest_0.6.27         spatstat.utils_2.2-0  pkgconfig_2.0.3       htmltools_0.5.1.1     parallelly_1.26.1     fastmap_1.1.0        
 [37] htmlwidgets_1.5.3     rlang_0.4.11          rstudioapi_0.13       shiny_1.6.0           generics_0.1.0        zoo_1.8-9            
 [43] jsonlite_1.7.2        ica_1.0-2             dplyr_1.0.7           magrittr_2.0.1        patchwork_1.1.1       Matrix_1.3-4         
 [49] Rcpp_1.0.7            munsell_0.5.0         fansi_0.5.0           abind_1.4-5           reticulate_1.20       lifecycle_1.0.0      
 [55] stringi_1.6.2         MASS_7.3-54           Rtsne_0.15            plyr_1.8.6            grid_4.1.0            parallel_4.1.0       
 [61] listenv_0.8.0         promises_1.2.0.1      ggrepel_0.9.1         crayon_1.4.1          miniUI_0.1.1.1        deldir_0.2-10        
 [67] lattice_0.20-44       cowplot_1.1.1         splines_4.1.0         tensor_1.5            pillar_1.6.1          igraph_1.2.6         
 [73] spatstat.geom_2.2-0   future.apply_1.7.0    reshape2_1.4.4        codetools_0.2-18      leiden_0.3.8          glue_1.4.2           
 [79] data.table_1.14.0     png_0.1-7             vctrs_0.3.8           httpuv_1.6.1          gtable_0.3.0          RANN_2.6.1           
 [85] purrr_0.3.4           spatstat.core_2.2-0   polyclip_1.10-0       tidyr_1.1.3           scattermore_0.7       future_1.21.0        
 [91] assertthat_0.2.1      ggplot2_3.3.5         mime_0.11             xtable_1.8-4          later_1.2.0           survival_3.2-11      
 [97] viridisLite_0.4.0     tibble_3.1.2          cluster_2.1.2         globals_0.14.0        fitdistrplus_1.1-5    ellipsis_0.3.2       
[103] ROCR_1.0-11

更新1

当尝试读取 cell_data_set 对象时,我现在遇到与以前相同的错误 + 另一个错误。

library(monocle3)
cds <- readRDS(<path_to_cell_data_set_file>)

2021 年 7 月 19 日 12:50:10 [rsession-rstudio] 错误会话 hadabend;记录自:rstudio::core::Error {anonymous}::rInit(const rstudio::r::session::RInitInfo&) src/cpp/session/SessionMain.cpp:675

2021 年 7 月 19 日 12:50:10 [rsession-rstudio] ERROR 系统错误 2(没有这样的文件或目录)[路径:/home/rstudio/.local/share/rstudio/sessions/active/session-975447f0/暂停会话数据/search_path/search_path_elements];发生在 rstudio::core::Error rstudio::core::FilePath::openForRead(std::shared_ptrstd::basic_istream&) const src/cpp/shared_core/FilePath.cpp:1427;记录自:void rstudio::r::session::{anonymous}::reportDeferredDeserializationError(const rstudio::core::Error&) src/cpp/r/session/RInit.cpp:63

我还检查(使用file.exists())并且文件&lt;path_to_cell_data_set_file&gt; 退出。

【问题讨论】:

    标签: r docker bioconductor rstudio-server


    【解决方案1】:

    经过一番挖掘,我找到了this post,了解如何为 docker 容器分配更多内存。

    我认为通过在docker run 命令中添加-m 8g-it --memory="8g" 足以增加内存限制。但是,在输入docker stats后,我发现我的内存限制卡在了2GB。

    我按照link 上的说明操作,这导致我增加了 > docker > Preferences > resources > Memory 中的内存限制。

    现在一切都像发条一样运转。

    【讨论】:

      猜你喜欢
      • 2018-07-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-04-24
      • 1970-01-01
      • 2014-08-08
      • 2018-06-18
      相关资源
      最近更新 更多