我的具体情况如下。我使用特定的cpuset启动docker容器:
docker run --cpuset-cpus="0-2" # ...
在该容器中,我运行一个shell脚本作为入口点,并且该shell脚本将make
在某个时刻运行。我想弄清楚会有多少工作(-j
)。我当然可以通过环境传递分配的CPU数量,但是自动检测它的方法将是首选。
我知道我可以使用taskset -c -p $$
或cat /proc/self/status | grep Cpus_allowed_list
检索Cpus_allowed
当前进程的,但是我不知道如何检索允许的CPU的实际数量。我想避免解析这些命令的输出或摆弄Cpus_allowed
掩码,但是在没有选项的情况下会这样做。
@Brian太简单了。
—
2015年
nproc
-打印可用的处理单元数