多次运行是否使它并行?

时间:2012-05-04 18:01:25

标签: parallel-processing operating-system fastq

我编写了一个简短的python脚本来处理大小从5Gb到35Gb的大型fastq文件。我在具有许多内核的Linux服务器上运行脚本。该脚本根本不是并行编写的,并且平均需要大约10分钟才能完成单个文件。

如果我在几个文件上运行相同的脚本,如

$ python my_script.py file1 & 
$ python my_script.py file2 & 
$ python my_script.py file3 & 

使用&签署以推迟这一进程。

这些脚本并行运行并节省一些时间吗?

对我来说似乎不是,因为我使用top命令来检查处理器的使用情况,每次使用都会随着我添加新的运行而下降,或者不应该使用接近100%的地方?

因此,如果它们没有并行运行,是否有办法让os并行运行?

感谢您的回答

2 个答案:

答案 0 :(得分:3)

以这种方式执行的命令确实并行运行。他们没有耗尽100%的CPU时间的原因可能是因为它们受I / O限制,而不是CPU限制。脚本的功能描述(“从5Gb到35Gb的大型fastq文件”)表明可能就是这种情况。

但是,如果查看ps给出的进程列表,您应该会看到三个python进程 - 除非其中一个或多个进程在您运行时终止{{1 }}

答案 1 :(得分:2)

等待I / O操作所花费的时间被视为一种不同的CPU使用率,通常为%wa。您可能只是在查看%us(用户CPU时间)。