我正在运行一台jupyter笔记本电脑(3.6),并且在启动时启用了20个从设备,使用
"env":{"JUPYTERQ_SERVERARGS":"s-20"}如果我在笔记本上检查一下,它看起来都很好
\s
20i然而,当我运行并行进程时,例如,
\t:100 {sqrt (200000?x) xexp 1.7} peach 10?1.0我可以看到所有的从机都使用相同的cpu。
如果我在从命令行启动的Q会话中运行相同的命令,并且使用我在运行内核.py中指定的相同的Q二进制文件,那么它将在所有可用的cpus上分配从进程。
有人知道为什么jupyterlab Q会话只使用1个cpu吗?
编辑:感谢Callum和Terry将我引向taskset。因此,最初将任务集设置为掩码8000000。我改变了这点
system "taskset -cp 30-40 ",(string .z.i)
"pid 193048's current affinity list: 27"
"pid 193048's new affinity list: 30-40"并重新运行上面的过程。现在,所有任务仍然在cpu 28上运行(这是以前使用的cpu,尽管掩码将其设置为27)。我还尝试为jupyter实验室本身设置亲和性,但这对此也没有任何影响。
发布于 2019-09-10 21:21:55
尝试以不同的方式指定服务器参数,它们会被解析为
SERVERARGS:getenv`JUPYTERQ_SERVERARGS因此,请尝试按如下方式指定它们
"env":{"JUPYTERQ_SERVERARGS":"-s 20"}https://stackoverflow.com/questions/57751435
复制相似问题