--Nextflow 管道中 Docker 的 shm_size 更改:containerOptions 似乎不起作用

问题描述 投票:0回答:1

我正在尝试增加用于运行 Nextflow 管道的 Docker 映像的共享内存大小。根据网上的一些指示,我已将以下内容添加到我的配置文件中:

docker {
    enabled = true
    userEmulation = true 
    containerOptions = '--shm-size=256m'
}

没有抛出任何错误,并且在 Nextflow 塔中,看起来配置已成功摄取。然而,在训练 pytorch 模型时,我仍然遇到共享内存不足的问题。为了检查我的 shm 大小更改是否实际上做了任何事情,我添加了一个命令来检查 nextflow 进程脚本部分中的大小:df -h /dev/shm,看起来 shm 实际上没有更新 - - 它仍然是默认的 64M,这对于 Docker 来说显然是正常的。

Filesystem      Size  Used Avail Use% Mounted on
shm              64M     0   64M   0% /dev/shm

几个小时以来我一直在尝试不同的方法,这非常令人沮丧——这是正确的方法吗?我还尝试直接在进程中而不是在顶层配置中设置指令,但这也不起作用。是否有解决方法或其他方法来增加 shm 大小?它阻止我使用多个工作人员运行 pytorch 训练,这意味着我的训练速度非常慢。

谢谢。

docker pytorch shared-memory nextflow
1个回答
0
投票

尝试使用

docker.runOptions
。例如,您的
nextflow.config
中包含以下内容:

docker {

    enabled = true
    runOptions = '--shm-size=256m'
}

以及您的

main.nf
中的以下内容:

process test_proc {

    debug true

    container 'ubuntu:24.04'

    """
    df -h /dev/shm
    """
}

workflow {

    test_proc()
}

结果:

$ nextflow run main.nf 

 N E X T F L O W   ~  version 24.04.3

Launching `main.nf` [stupefied_shannon] DSL2 - revision: 306a1b97c1

executor >  local (1)
[ef/0639d1] process > test_proc [100%] 1 of 1 ✔
Filesystem      Size  Used Avail Use% Mounted on
shm             256M     0  256M   0% /dev/shm

© www.soinside.com 2019 - 2024. All rights reserved.