加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Linux > 正文

linux – 程序在长时间运行期间停止

发布时间:2020-12-14 01:10:59 所属栏目:Linux 来源:网络整理
导读:固定: 这看起来有点傻.原来顶部没有正确显示,程序实际上继续运行.也许CPU时间变得太大而无法显示?无论哪种方式,该程序似乎工作正常,这整个问题没有实际意义. 谢谢(抱歉这个愚蠢的问题). 原文问: 我正在运行Ubuntu服务器10.04.3的计算机上运行模拟.短跑( 2
固定:

这看起来有点傻.原来顶部没有正确显示,程序实际上继续运行.也许CPU时间变得太大而无法显示?无论哪种方式,该程序似乎工作正常,这整个问题没有实际意义.

谢谢(抱歉这个愚蠢的问题).

原文问:

我正在运行Ubuntu服务器10.04.3的计算机上运行模拟.短跑(< 24小时)运行良好,但长跑最终停止.通过停顿,我的意思是程序不再获得任何CPU时间,但它仍然保存在内存中的所有信息.为了运行这些模拟,我SSH和nohup程序并将任何输出传递给文件. 杂项信息: 系统肯定没有用完RAM.该程序在完成之前不需要读取或写入硬盘驱动器;计算完全在内存中完成.程序没有被杀死,因为它在停止后仍然有一个PID.我使用openmp,但增加了最大进程数,最大时间不受限制.我正在使用ARPACK fortran库找到矩阵的最大特征值. 有关导致此行为的原因或如何恢复目前停滞的程序的任何想法? 谢谢

解决方法

我假设这是一个来自你的标签的OpenMP程序,尽管你从来没有说明这一点. ARPACK线程安全吗?

听起来你正陷入僵局(在MPI程序中比在OpenMP中更常见,但它绝对可能).首先要做的是使用调试标志进行编译,然后在下次发现此问题时,使用调试器附加并找出各种线程正在执行的操作.例如,对于gdb,显示了一些用于在线程之间切换的指令here.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读