假设一台物理机上跑了3个容器,启动的时候分配的cpu share是一样的,那如果在一个容器满负载,而另外两个空闲的情况下,那单个容器有可能跑满物理机的CPU吗,还是说撑死只能跑到30%?
PHP中文网2017-04-21 11:18:37
docker が Python プロセスを実行している場合、単一のプロセスは単一のコアを実行できます (GIL によって制限されます)。実際、プロセス リストを見ると、vagrant とは異なり、docker プロセス自体がシステム プロセスに統合されていることがわかります。
怪我咯2017-04-21 11:18:37
進捗状況に注目してください
リーリーどのくらいの CPU を占有することができますか
ああ、共有を使用する場合、プロセスはこのコアに関連付けられます。
また、top で見るとプロセスが 100% であることがわかりますが、この 100% はこのコアでは 100% です
3コアで実行すると300%になります
ringa_lee2017-04-21 11:18:37
起動時に各コンテナに同じ CPU シェアを割り当てた場合でも。他の 2 つのコンテナがアイドル状態であっても、残りのコンテナがコア全体を埋めることができます。
cpu share は、コンテナーの CPU 使用量の下限を制限しているように感じます。 CPU使用量の上限を制限したい場合は、cgroupを通じてコンテナの設定を変更する必要があります。