1

在我运行 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。日志文件中根本没有显示任何错误。

感谢您的任何努力。

4

1 回答 1

0

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

man cpuset

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

于 2012-07-07T20:02:07.157 回答