一句话版本:docker update
,参数根据自己需要调整。
问题描述
在使用docker运行程序时,常常出现有些CPU明明空着,却没有办法去使用的情况。比如图中192块CPU,只能用2-11块。其他卡都空着,导致计算资源的浪费。
所谓“一卡有难,七卡围观”。发生这种情况,很有可能是因为docker在创建的时候,只分配了10张卡的限额。现在我们要解除这个限额。
解决办法
在docker中,使用nproc
指令可以查看当前可用的cpu数量。
进入主机,查看可使用的CPU数量。
一共有192块CPU。
查看当前运行的docker:docker ps
.找到自己当前用的docker的id。我的是406bXXXXXXX
.
使用docker update
指令修改CPU限额:
docker -cpus 192 406bXX
docker -cpuset-cpus 0-191 406bXX
(我这里比较贪心,把192块卡都设置为可以使用了)。
其它指令类似,参数如下:
再重新启动自己的docker,就会发现能用全部的192块CPU了。
再运行程序后,发现CPU整体使用率高了好多。(没有别人和我抢,所以我就尽可能地多占资源了)
参考链接
https://www.php.cn/manual/view/36144.html