You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

升级128GB内存后Ubuntu桌面Python代码运行崩溃求助

问题描述

共享台式机内存从64GB升级至128GB后,运行部分Python代码频繁崩溃。该台式机配备128GB内存、16核CPU,但运行时内存占用不足40GB;同款脚本在我的16GB内存笔记本上运行无异常。

崩溃代码示例

终端运行代码

cellbender remove-background \
--input /home/owner/mnt/DATA/raw_feature_bc_matrix.h5 \
--output /home/owner/mnt/DATA/cellbender_output.h5 \
--expected-cells 12044 \
--total-droplets-included 15000 \
--fpr 0.01 \
--epochs 150

Jupyter Notebook运行代码

n_pcs = 50
import pdb

def your_function():
    pca_model = sklearn.decomposition.PCA(n_components=n_pcs)
    pca_model.fit(df_adata.values.T)

cumulative_variance_ratio = np.cumsum(pca_model.explained_variance_ratio_)
meta_data = adata.obs
data_mat = adata.obsm['X_pca']
import harmonypy as hm
ho = hm.run_harmony(data_mat, meta_data, 'experiment')

台式机配置

  • 系统:Ubuntu 18.04.3 LTS
  • 内存:125.7 GiB
  • 处理器:Intel® Xeon(R) E-2288G CPU @ 3.70GHz × 16
  • 显卡:Radeon RX 570 Series (POLARIS10, DRM 3.35.0, 5.4.0-150-generic, LLVM 9.0.0)
  • 桌面环境:GNOME 3.28.2
  • 架构:64位
  • 磁盘:502.9 GB

Conda环境版本

名称版本
python3.8.16
cellbender0.2.2
matplotlib3.4.2
numpy1.24.3
pandas1.4.1
scanpy1.9.1
harmonypy0.0.5
scikit-learn1.2.2
jupyter1.0.0

已尝试方案

  • 同事的R脚本运行正常,怀疑Conda包版本不兼容,复制笔记本环境无效
  • 限制内存至32GB未解决问题

排查方向

  1. 检查内存硬件兼容性:内存升级后可能存在型号不匹配、插槽接触不良问题。可重新插拔内存,或使用memtest86+工具检测内存故障。
  2. 调整系统内存内核参数:Ubuntu默认的内存超额提交设置可能不适应大内存环境,临时修改测试:
    sudo sysctl vm.overcommit_memory=1
    
    若有效,写入/etc/sysctl.conf永久生效。
  3. 限制CPU核心使用数:16核CPU下,部分Python库默认会占用全部核心,可能引发线程冲突。运行代码前设置:
    • 终端:export OMP_NUM_THREADS=8
    • Jupyter:import os; os.environ['OMP_NUM_THREADS'] = '8'
  4. 强制Cellbender使用CPU运行:台式机AMD显卡可能存在GPU驱动适配问题,禁用GPU加速测试:
    cellbender remove-background --input /home/owner/mnt/DATA/raw_feature_bc_matrix.h5 --output /home/owner/mnt/DATA/cellbender_output.h5 --expected-cells 12044 --total-droplets-included 15000 --fpr 0.01 --epochs 150 --cpu-only
    
  5. 排查磁盘IO与权限:输出文件位于挂载磁盘,可能存在IO瓶颈或权限问题。将文件移至本地磁盘测试,同时检查读写权限。
  6. 升级系统内核与依赖:Ubuntu 18.04的5.4.0-150内核较老,对大内存支持有限。执行以下命令升级:
    sudo apt update && sudo apt upgrade -y
    
  7. 重建Conda环境并指定底层依赖:复制环境无效可能是系统底层线性代数库差异,重新创建环境时指定兼容库:
    conda create -n new_env python=3.8.16
    conda activate new_env
    conda install -c conda-forge cellbender=0.2.2 scanpy=1.9.1 harmonypy=0.0.5 scikit-learn=1.2.2 numpy=1.24.3 blas=openblas
    

内容的提问来源于stack exchange,提问作者Aki

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.12 19:57:55