【发布时间】:2012-06-25 19:20:32
【问题描述】:
在我运行 Ubuntu 12.04 的虚拟机中发生了一些奇怪的事情。以下脚本,我之前成功用于在 7 个内核上一起运行 7 个任务,现在不能正常工作了!
Prog out file1.bin fids 72000 > logs/fitlog1.log &
Prog out file2.bin fids 72000 > logs/fitlog2.log &
Prog out file3.bin fids 72000 > logs/fitlog3.log &
Prog out file4.bin fids 72000 > logs/fitlog4.log &
Prog out file5.bin fids 72000 > logs/fitlog5.log &
Prog out file6.bin fids 72000 > logs/fitlog6.log &
Prog out file7.bin fids 72000 > logs/fitlog7.log &
Prog 是可执行文件的名称。
以前(2 天前),当我运行此脚本时,每个应用程序都在单个内核上执行并且日志记录正常。 现在,这些应用程序不再同时启动。 2 或 3 个内核启动然后停止,只有 1 个继续运行。
谁能解释一下这种行为?
系统是 Windows 7 上 VM 工作站上的 Ubuntu 12.04。日志文件中没有显示任何错误。
感谢您的努力。
【问题讨论】:
-
任何错误信息?您是否尝试过记录
stdout?Prog ... 2>Progerror.log这不是您的脚本的问题,而是您的虚拟机或操作系统的配置问题。你也不会说你正在运行哪个虚拟机、主机操作系统或其他可能有用的细节。最有可能的是,这个问题更适合 Ubuntu 或 Unix/Linux Stack Exchange 站点。标记您的问题并要求管理员移动它。 -
从来没有错误信息。该系统显然是自动将任务排队并按顺序而不是并行运行它们。我已经有一个日志文件,那里根本没有显示任何错误。感谢您对搬家的建议,如果没有人这样做,我会这样做。顺便说一句,我在标题中提到它是 VM 工作站。谢谢你的回答:)
-
脚本中显示的日志记录,如果你指的是,只记录
stdout。抱歉,在我之前的评论中,我的意思是“stderr”(示例 sn-p 是正确的)。 -
对不起,我误会了。我现在就去做,stderr 的事情。
-
我确实认为这是系统而不是脚本,也不一定是程序。但是,有时消除简单的东西是一种很好的故障排除实践。检查
stderr就是这样一项。建议您的陈述特别提示它“现在,应用程序不再同时启动。2 或 3 个内核启动然后停止,只有 1 个继续运行。”不过。
标签: linux bash ubuntu parallel-processing ubuntu-12.04