我使用以下可怕的语法告诉我的docker容器使用主机上的所有CPU:
docker run --cpuset-cpus="0-`python3 -c "from multiprocessing import cpu_count; print(cpu_count() -1)"`" ubuntu:latest /bin/bash
有更好的方法吗?
答案 0 :(得分:1)
您可以使用nproc
返回CPU核心数。
为了获得CPU核心的数量 - 1,POSIX shell中的算术用$
和双括号
docker run --cpuset-cpus="0-$(($(nproc)-1))" ubuntu:latest echo "hi"