Quantum Espresso运行异常求助:进程因signal 9终止,核数调整无效
Quantum Espresso mpirun Signal 9 错误排查方案
优先排查内存不足问题:Signal 9是系统因内存耗尽(OOM)强制杀死进程的信号,哪怕整体负载低,单MPI进程的内存占用也可能超出节点分配额度。用
free -h查看节点剩余内存,或者在计算脚本里加入定时内存监控(比如top -b -n 1 >> mem_log.txt)。如果用调度器(如Slurm),可尝试给每个进程指定内存上限,比如--mem-per-cpu=4G。检查节点硬件与系统限制:出错节点HUAWEI可能存在硬件故障(如内存模块损坏)或系统层面的内存配额限制(比如cgroup配置、OOM Killer阈值)。换其他节点跑相同计算,或者在该节点跑极小测试任务,验证是否是节点本身问题。
优化Quantum Espresso输入参数:
- 降低
ecutwfc、ecutrho截断能,直接减少内存占用; - 设置
disk_io='low'或disk_io='medium',让中间数据写入磁盘释放内存; - 检查k点采样、波函数展开等参数是否过度设置,精简不必要的计算精度。
- 降低
排查MPI运行环境:
- 确认mpirun版本和编译Quantum Espresso时用的MPI版本完全一致,版本不兼容易引发异常;
- 尝试用
mpiexec替代mpirun启动任务,或添加--oversubscribe参数测试(注意:仅用于临时验证,不建议正式计算使用); - 用
mpitests工具测试节点间MPI通信稳定性,排除网络问题导致的进程崩溃。
分析详细计算日志:开启Quantum Espresso的多进程日志(设置
-output-prefix参数),查看rank 2进程被杀死时的计算阶段(电子弛豫、结构优化等),精准定位内存消耗高峰环节,针对性调整参数。
内容的提问来源于stack exchange,提问作者berna uyanık
相关产品推荐
相关产品推荐

