假设我有以下代码片段:
Thread x = new Thread() {
public void run() {
while (true) {
// do something
}
}
};
Thread y = new Thread() {
public void run() {
while (true) {
// do something
}
我在Ubuntu 16.04上安装了TORQUE,因为我的工作挂起了,所以我遇到了麻烦。我有一个测试脚本test.pbs
#PBS -N test
#PBS -l nodes=1:ppn=1
#PBS -l walltime=0:01:00
cd $PBS_O_WORKDIR
touch done.txt
echo "done"
我用它运行它
qsub test.pbs
作业写入done.txt并回显"done"很好,但作业在C状态下挂起。
Job id Name User T
如果我像这样并行地运行一些作业:
#!/bin/bash
for i in `seq 1 100`;
do
./program data$i.txt &
done
这意味着我需要100个内核?或者,如果我没有100个核心,一些作业会等待,或者它们都会在较低的核心上运行,那么一个以上的作业将被分配给一个核心?如果我需要100个内核,我应该做什么来一次运行10个,而不必使for循环从1到10和运行bash文件10次?