【问题标题】:Parallel tasks don't work on Ubuntu 12.04 in VM Workstation并行任务在 VM 工作站中的 Ubuntu 12.04 上不起作用
【发布时间】: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。日志文件中没有显示任何错误。

感谢您的努力。

【问题讨论】:

  • 任何错误信息?您是否尝试过记录stdoutProg ... 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


【解决方案1】:

顺便说一句,描述太模糊了。奇怪的行为应该有很多可能性,但一般来说,当您想将 Linux 上的进程绑定到特定的 CPU 内核时,请从以下开始:

man cpuset

否则内核会尝试循环分配负载,进程将在运行期间在内核之间“移动”。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-12-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-24
    • 2013-04-06
    • 1970-01-01
    相关资源
    最近更新 更多