我试图在6核心机器上运行7个models_test
实例。 为此,我正在使用以下脚本。 任务编号7在计算方面是最苛刻的。
#!/bin/bash ./models_test tfidf.db output/ input/ 1 10 & ./models_test tfidf.db output/ input/ 11 20 & ./models_test tfidf.db output/ input/ 21 30 & ./models_test tfidf.db output/ input/ 31 40 & ./models_test tfidf.db output/ input/ 41 50 & ./models_test tfidf.db output/ input/ 51 60 & ./models_test tfidf.db output/ input/ 61 70
./models_test
需要5个参数:
我想通过使用taskset命令来运行相同的7个实例,如下所示:
#!/bin/bash # Cpus are identified by `{0, 1, 2, 3, 4, 5}` taskset -c 0 ./models_test tfidf.db output/ input/ 1 10 & taskset -c 1 ./models_test tfidf.db output/ input/ 11 20 & taskset -c 2 ./models_test tfidf.db output/ input/ 21 30 & taskset -c 3 ./models_test tfidf.db output/ input/ 31 40 & taskset -c 3 ./models_test tfidf.db output/ input/ 41 50 & taskset -c 4 ./models_test tfidf.db output/ input/ 51 60 & taskset -c 5 ./models_test tfidf.db output/ input/ 61 70
taskset
正确地完成taskset
工作,将6个任务分成6个核心? 我经常遇到类似的问题。 而不是使用taskset我使用nice:
parallel --nice 11 ./models_test tfidf.db output/ input/ {} '{= $_+=9 =}' ::: {1..60..10} & ./models_test tfidf.db output/ input/ 61 70 wait