前言

继上次《怪谈级别疑难问题收录》后,怪谈级别的疑难问题又更新了,这次更新了三个让人吐血的奇葩问题,其中就包括大家又爱又恨的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.…