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

Linux Anaconda环境运行Python出现Segmentation fault (core dumped)如何解决

问题排查与解决步骤

1. 调整任务CPU内存配额

你当前提交脚本中申请的CPU内存仅为3G,深度学习代码在加载数据集、初始化模型阶段会占用大量CPU内存,配额不足会直接触发段错误,哪怕GPU显存充足也会被集群的资源管理系统终止。先修改脚本中的内存申请参数:

# 将原来的3G调整为16G,若仍报错可继续上调到32G
#$ -l h_vmem=16G
#$ -l mem_req=16G

2. 验证虚拟环境在计算节点的兼容性

你之前仅在登录节点确认了Anaconda、TensorFlow、Python的版本匹配,但多数集群的登录节点与计算节点的系统依赖、GPU驱动版本存在差异,会导致conda环境中的二进制依赖加载失败触发段错误。
提交如下测试脚本验证环境可用性:

#!/bin/sh
#$ -S /bin/sh
#$ -l h_vmem=8G
#$ -l mem_req=8G
#$ -cwd
#$ -e test_error.txt
#$ -o test_output.txt

source ~/local/anaconda3/etc/profile.d/conda.sh
conda activate edward
# 输出环境信息验证
which python3
python3 --version
python3 -c "import tensorflow as tf; print('TensorFlow版本:',tf.__version__); print('GPU是否可用:',tf.config.list_physical_devices('GPU'))"

如果该测试任务也报段错误,说明环境在计算节点存在兼容问题,需要在计算节点上重新搭建虚拟环境安装对应依赖。

3. 用core dump文件定位具体报错点

你已生成core.1134崩溃文件,可通过gdb调试定位具体崩溃位置:

gdb python3 core.1134
# 进入gdb交互界面后输入bt打印调用栈,即可看到崩溃前的执行路径
bt

若调用栈指向CUDA、cuDNN相关库,说明你conda环境中安装的TensorFlow依赖的CUDA版本与计算节点的GPU驱动版本不兼容,需更换对应兼容版本的TensorFlow,或联系集群管理员更新驱动。

4. 避免Python解释器路径冲突

脚本中使用python3命令可能调用系统默认的Python而非conda虚拟环境的Python,可替换为虚拟环境Python的绝对路径规避该问题:

# 替换为你自己的虚拟环境Python路径
/home/edward/local/anaconda3/envs/edward/bin/python /home/edward/archive/cwgan-gp.learning.py

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 09:45:05