我试图在linux上启动一个python脚本(带有输入参数) 服务器使用GNU parallel。
首先我创建了我的tasks_file,如:
python create_main.py dir1 / tt1 dir2 dir3 dir4 / tt1
python create_main.py dir1 / tt2 dir2 dir3 dir4 / tt2
python create_main.py dir1 / tt3 dir2 dir3 dir4 / tt3
...
dir1 / tt1 dir2 dir3 dir4 / tt1是python脚本的参数。每个
line是一个要计算的任务,我在这个文件中总共有200个任务。
然后我尝试在服务器的一个节点上启动每个任务以便 完成这200项任务。这是我的bash命令:
parallel --jobs 1 --sshloginfile unique-nodelist.txt --workdir
my_dir_to_python_script < tasks_file
在unique-nodelist.txt中,我定义了对节点的访问:
ssh -x node1;
ssh -x node2;
...
当我启动上述命令时,计算开始起作用 但有时会出现如下所示的错误消息:
OpenBLAS blas_thread_init: pthread_create: Cannot allocate memory
OpenBLAS blas_thread_init: RLIMIT_NPROC 1024 current, 1033195 max
Traceback (most recent call last):
File "create_main.py", line 1, in <module>
from netCDF4 import Dataset
from ._netCDF4 import *
import numpy.core.numeric as _nx
from . import multi array
KeyboardInterrupt
在此消息之后,它似乎继续其他工作。
最后我检查了我的结果,发现有些任务是
执行了,但有些根本没有计算。
在我看来,管理内存存在一些问题,其中 刚跳过一些计算。你能告诉我怎么样 解决这个问题?非常感谢提前!!
祝你好运
香农