假设一台物理机上跑了3个容器,启动的时候分配的cpu share是一样的,那如果在一个容器满负载,而另外两个空闲的情况下,那单个容器有可能跑满物理机的CPU吗,还是说撑死只能跑到30%?
人生最曼妙的风景,竟是内心的淡定与从容!
docker が Python プロセスを実行している場合、単一のプロセスは単一のコアを実行できます (GIL によって制限されます)。実際、プロセス リストを見ると、vagrant とは異なり、docker プロセス自体がシステム プロセスに統合されていることがわかります。
進捗状況に注目してください
どのくらいの CPU を占有することができますか
ああ、共有を使用する場合、プロセスはこのコアに関連付けられます。 また、top で見るとプロセスが 100% であることがわかりますが、この 100% はこのコアでは 100% です 3コアで実行すると300%になります
起動時に各コンテナに同じ CPU シェアを割り当てた場合でも。他の 2 つのコンテナがアイドル状態であっても、残りのコンテナがコア全体を埋めることができます。
cpu share は、コンテナーの CPU 使用量の下限を制限しているように感じます。 CPU使用量の上限を制限したい場合は、cgroupを通じてコンテナの設定を変更する必要があります。
これは興味深い質問です。実験として試してみましょう。
誰が実験を行って、プロセッサーをいっぱいにするループを作成するのでしょうか?
docker が Python プロセスを実行している場合、単一のプロセスは単一のコアを実行できます (GIL によって制限されます)。実際、プロセス リストを見ると、vagrant とは異なり、docker プロセス自体がシステム プロセスに統合されていることがわかります。
進捗状況に注目してください
リーリーどのくらいの CPU を占有することができますか
ああ、共有を使用する場合、プロセスはこのコアに関連付けられます。
また、top で見るとプロセスが 100% であることがわかりますが、この 100% はこのコアでは 100% です
3コアで実行すると300%になります
起動時に各コンテナに同じ CPU シェアを割り当てた場合でも。他の 2 つのコンテナがアイドル状態であっても、残りのコンテナがコア全体を埋めることができます。
cpu share は、コンテナーの CPU 使用量の下限を制限しているように感じます。 CPU使用量の上限を制限したい場合は、cgroupを通じてコンテナの設定を変更する必要があります。
これは興味深い質問です。実験として試してみましょう。
誰が実験を行って、プロセッサーをいっぱいにするループを作成するのでしょうか?