繼續吐槽Rstudio

前言

繼上次《怪談級別疑難問題收錄》后,怪談級別的疑難問題又更新了,這次更新了三個讓人吐血的奇葩問題,其中就包括大家又愛又恨的Rstudio,一起圍觀下。

本教程基于Linux環境演示,計算資源不足的同學可參考:

足夠支持你完成碩博生涯的生信環境

忘記宣傳了,獨享用戶連技術支持都是獨享的

RTX5090、4080S、5070顯卡上機

如果你對下面的教程比較迷茫,那么你可以先行學習編程教程:

十小時學會Linux

生信Linux及服務器使用技巧

5.5h入門R語言

Rstudio后臺運行任務消失

  • Rstudio Background Job無緣無故消失?

圖片

圖片

  • 首先,我們先搞清楚Rstudio的Background Job的特點,正常來說運行結束的后臺任務,無論成功與否都是有運行記錄的,但是這個運行記錄不是一直存在的,如果Session變了就看不到了。(有可能是長時間沒使用,Session自動退出了;有可能是Rstduio加載緩慢時,點擊了Terminate R;有可能是Session崩潰了,之前的Session已經不存在了)

圖片

  • 最后還是得靠nohup Rscript運行才找出原因,nohup的一個好處是其運行的日志都存儲到了一個文件里面,方便后續排查問題!

圖片

  • 查看官網issue,有相同問題,原因是數據超出軟件限制:https://github.com/navinlabcode/copykat/issues/84#issue-1646109349

Rstudio文件管理bug導致文件丟失

當前項目下,有TestFile.R、TeeFile.R兩個文件

有一個TestDir目錄,其下面有一個TestFile子目錄(注意,子目錄TestFile與TestFile.R同名)

現在嘗試將TestFile.R、TeeFile.R兩個文件移動到TestDir目錄下,會發生什么?

圖片

圖片

圖片

  • 當選擇移動文件,當前文件被移動到其它目錄,所以Rstudio提示之前打開的文件被移動或刪除了,文件出現在目標目錄下,符合預期

圖片

  • 當選擇復制文件,會提示文件已存在。如果點擊確認覆蓋,會導致原文件丟失,目標目錄也沒有文件復制過去,文件直接丟失!

圖片

圖片

圖片

圖片

圖片

  • 如果是選擇目標目錄時,直接選擇進入到子目錄,則不會出現上述問題。

圖片

  • 總結:經過測試,在最新版Rstudio中已修復此問題,雖然還會提示This file already exists, Do you want to replace it?,但是點擊Yes也不會導致文件丟失,相當于取消了這個操作。

在docker容器內部運行代碼,運行慢,CPU占用異常

  • 用戶反饋下面代碼運行慢,預計運行時間要幾天,不符合預期。

圖片

  • 下面是使用官方數據的測試代碼

install.packages("devtools")
devtools::install_github("data2intelligence/SpaCET")library(SpaCET)visiumPath <- file.path(system.file(package =?"SpaCET"),?"extdata/Visium_BC")SpaCET_obj <- create.SpaCET.object.10X(visiumPath = visiumPath)# debug(SpaCET:::SpatialDeconv)SpaCET_obj <- SpaCET.deconvolution(SpaCET_obj, cancerType="BRCA", coreNo=1)
  • 接到用戶反饋后,將測試實例遷移到用戶實例所在節點,安裝相關依賴運行代碼,預計運行時間為20分鐘左右,符合預期,也能正常運行完畢。

圖片

  • 后續溝通得知是使用docker運行的R,使用docker部署相同環境rocker/rstudio:4.2(ID為0d506cb12a0f),運行代碼可以復現問題,程序運行時間需要幾天。

圖片

  • 在出現問題的場景中,運行程序時CPU占用異常,占用了超過20核心,而正常的場景中,只占用1核心。經過debug調試后,發現程序卡在pbmcapply::pbmclapply這一代碼塊,考慮應該是依賴的并行庫有問題。并且點擊Rstudio的紅色已經沒反應了,強制終止后進程還是占用大量CPU,只能重啟docker容器,Rstudio崩潰。

圖片

  • 網上搜索相關資料,發現有相關的帖子

圖片

  • https://forums.docker.com/t/r-mcmapply-parallized-mapply-function-broken-with-docker-linux/143758/6

  • https://github.com/OpenMathLib/OpenBLAS/issues/2642

圖片

圖片

  • 大概意思是openblas這個庫在某些場景下有bug,可以卸載其其它依賴,僅安裝libopenblas-openmp-dev,重啟session后運行(一定要重啟,不重啟無效),以下命令在docker里面的命令行執行。

apt remove -y libopenblas0-pthread libopenblas0 libopenblas0-openmp libopenblas-openmp-dev libopenblas-devapt install libopenblas-openmp-dev
  • 移除上述依賴后,重啟session,重新運行代碼,程序運行介紹預計時間正常了,CPU占用也恢復正常。

圖片

  • 將coreNo適當調大也能正常并行加速程序運行,程序運行時間縮短到5分鐘。

圖片

圖片

結語

本系列文章記錄了那些我們實際遇到過的,匪夷所思的一些問題,很多用戶遇到這種問題,往往第一時間覺得是服務器的問題,但是經過實際的排查,發現都是一些怪談級別的bug或者問題。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/923542.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/923542.shtml
英文地址,請注明出處:http://en.pswp.cn/news/923542.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

C++:string模擬實現中的賦值拷貝函數現代寫法詭異地崩掉了......

事情是這樣的&#xff1a;博主今天回看以前實現過的string&#xff0c;當時就遇到了一個bug:可見博主當時的破防。因為最近在集中復盤C初階部分&#xff0c;就有點好奇年輕的時候自己寫的模擬string是什么樣。沒想到給我自己留了個bug。現在來細看這個場景&#xff1a;為了測試…

機器學習-Bagging

Bagging-Bootstrap AGGrgratING Bagging并行訓練n個基本學習器&#xff08;base learner&#xff09;通過平均所有學習器的輸出&#xff08;回歸&#xff09;或主投票&#xff08;分類&#xff09;做決策每個模型是用在訓練集上通過bootstrap采樣得到的新的數據集進行訓練得到的…

Unity3D Shader 入門知識

Unity3D Shader 入門知識詳解。 Unity3D Shader 入門知識 Shader&#xff08;著色器&#xff09;對很多 Unity 初學者來說像是“黑魔法”。 實際上&#xff0c;Shader 并沒有那么神秘&#xff0c;它本質上就是一段運行在 GPU 上的小程序&#xff0c;用來控制 屏幕上每個像素的顏…

【面試之Redis篇】主從復制原理

從面試的角度來解釋 Redis 主從復制原理&#xff0c;按照“總-分-總”的結構&#xff0c;清晰地闡述其核心概念、工作流程和關鍵要點&#xff0c;這能體現出你不僅知道是什么&#xff0c;還理解為什么以及如何應對相關問題。總覽&#xff1a;一句話定義 面試官您好&#xff0c;…

數據庫開啟ssl

數據庫&#xff1a;阿里云rds 系統&#xff1a;centos 需要修改的&#xff1a;nacos連接項目連接本地navicat連接 重點&#xff1a;為了兼容本地和服務器&#xff0c;ssl證書路徑由原來的絕對路徑換成環境變量參數&#xff0c;所以有步驟4 文章目錄步驟1 阿里云步驟2 navicat…

Redis 事件驅動與多路復用源碼剖析

Redis 事件驅動與多路復用源碼剖析1. 前言 Redis 是 單線程 I/O 多路復用 的典型代表。 它并不是多線程處理請求&#xff0c;而是依賴 事件驅動&#xff08;event-driven&#xff09;模型&#xff0c;在一個線程內高效管理海量連接。 核心組件&#xff1a; ae.c&#xff1a;事…

VR煤礦實訓系統相較于傳統煤礦培訓方式的獨特優勢?-廣州華銳互動

高度逼真&#xff0c;沉浸體驗?VR煤礦實訓系統運用先進的3D建模、動態仿真技術&#xff0c;對煤礦井下的復雜環境進行1:1還原。從幽深的巷道、運轉的采煤設備&#xff0c;到潮濕的空氣、昏暗的燈光&#xff0c;甚至細微的煤塵顆粒&#xff0c;都能逼真呈現。使用者戴上VR設備后…

javaweb XML DOM4J

XMLXML作用就是配置文件&#xff0c;properties使用不了較復雜的需求&#xff0c;xml應運而生配置文件對比 xml更方便tips1:新建resources目錄&#xff0c;并將src中的jdbc.properties移到resourcs中&#xff0c;并且右鍵標記為源代碼根目錄&#xff0c;這樣運行src時就會和pro…

多模態視頻理解領域 Benchmark 與 Leaderboard 整理

多模態視頻理解是當前人工智能領域的研究熱點&#xff0c;其核心目標是讓模型像人類一樣&#xff0c;綜合視頻中的視覺、聽覺&#xff08;部分場景&#xff09;及文本信息&#xff0c;實現對視頻內容的深度感知、理解與推理。為客觀評估模型性能&#xff0c;行業內涌現了眾多權…

18j621-3通風天窗圖集pdf(免費高清版)

18j621-3通風天窗已經替代05j621-3通風天窗圖集成為目前比較通用的建筑屋頂通風選型重要參考標準&#xff0c;18j621-3圖集是對前圖集的優化和革新&#xff0c;在18j621-3圖集中新增了TC8圓拱型電動采光天窗&#xff0c;豐富了屋面通風排煙設備的選型。在18j621-3天窗圖集中&am…

LawGPT:基于中文法律知識的大模型

本文轉載自&#xff1a;https://www.hello123.com/lawgpt ** 一、?? LawGPT&#xff1a;中文法律界的 “AI 法助”&#xff0c;啃透了 15 萬份判決書&#xff01; LawGPT 是一系列專攻中文法律知識的開源大模型&#xff0c;在通用中文基座&#xff08;如 ChatGLM&#xff0…

用 go-commons 快速寫一個監控 CPU/內存的 Exporter

歡迎加入開源項目&#xff0c;提你的 mr Go Commons&#xff1a;Golang 開發者的常用工具集&#xff0c;一站式解決常見需求 在 Go 語言的開發過程中&#xff0c;你是不是經常遇到這樣的情況&#xff1a; 想要做點小功能&#xff0c;卻得從零寫起&#xff0c;或者到處找三方…

KingbaseES客戶端工具Ksql使用全指南:從安裝到高級操作

引言 在國產數據庫蓬勃發展的今天&#xff0c;KingbaseES憑借其自主可控、高性能、高可用的特性&#xff0c;已成為政務、金融、能源等關鍵領域的首選數據庫。而作為其配套的命令行工具&#xff0c;Ksql更是DBA和開發人員的“瑞士軍刀”——它不僅能高效執行SQL查詢&#xff0c…

【LeetCode - 每日1題】可以輸入的最大單詞數

?? 個人主頁:(時光煮雨) ?? 高質量專欄:vulnhub靶機滲透測試 ?? 希望得到您的訂閱和支持~ ?? 創作高質量博文(平均質量分95+),分享更多關于網絡安全、Python領域的優質內容!(希望得到您的關注~) ??目錄?? 難度 ?? 題目回顧 ?解題思路 ??概述 ??核心…

3227. 字符串元音游戲

3227. 字符串元音游戲 題目鏈接&#xff1a;3227. 字符串元音游戲 代碼如下&#xff1a; class Solution { public:bool doesAliceWin(string s) {return ranges::any_of(s, [](char c) {return c a || c e || c i || c o || c u;});} };

微信小程序坐標位置使用整理(四)map組件

一、地圖上標點&#xff0c;marker 1.wxml <map id"map" scale"9" class"map"markers"{{markers}}" longitude"{{longitude}}" latitude"{{latitude}}" show-location"{{true}}"><cover-vie…

Parlant框架深度技術解析:革命性AI代理行為建模引擎

引言 在人工智能快速發展的今天&#xff0c;AI代理&#xff08;Agent&#xff09;技術已經成為連接人工智能與實際應用場景的重要橋梁。然而&#xff0c;傳統的AI代理開發面臨著諸多挑戰&#xff1a;提示詞工程的復雜性、行為不可預測性、工具調用的不確定性等問題嚴重制約了AI…

AI重構車載測試:從人工到智能的跨越

目錄 一、AI 在車載測試中的核心價值 二、AI 在車載測試的具體應用場景 (一)自動駕駛測試:AI 解決 “場景覆蓋” 與 “決策可靠性” 難題 (二)車機系統測試:AI 優化 “交互體驗” 與 “功能穩定性” (三)車載硬件測試:AI 實現 “故障預測” 與 “精準校準” (四)功能…

從職責劃分看架構:MVC 的 Controller 與 MVVM 的 ViewModel 差異

深入淺出&#xff1a;前端MVC與MVVM架構模式&#xff0c;你真的懂了嗎&#xff1f;? 序言 各位前端的“程序猿”和“程序媛”們&#xff0c;大家好&#xff01;&#x1f44b; 在前端開發的江湖中&#xff0c;MVC和MVVM這兩個詞&#xff0c;就像武林秘籍一樣&#xff0c;常常被…

Vue-color:Vue.js 專業顏色選擇器組件庫 – 支持Vue2/3,TypeScript,暗色主題

簡介 Vue-color 是一個專為 Vue.js 設計的顏色選擇器組件庫&#xff0c;提供了多種風格的顏色選擇器組件。它支持 Vue 2.7 和 Vue 3&#xff0c;具有 TypeScript 支持、SSR 兼容性和暗色主題支持。 特性 多種顏色選擇器 – 提供 Chrome、Sketch、Photoshop 等多種風格Vue 2.…