覗き見の問題サーバーでは、IIS サービスが複数のサイトを展開していると仮定すると、サイトの 1 つに問題 (CPU が 100% になったり、メモリがいっぱいになったりするなど) が発生すると、このサーバーの他のサイトもクラッシュします。同様に、コンテナを使用する場合、単一のホスト上で数十のコンテナが実行される場合があります。コンテナは互いに分離されていますが、ホストと同じカーネル、CPU、メモリ、ディスク、その他のハードウェア リソースを使用します。コンテナ リソースが制限されていない場合、コンテナは互いに影響を及ぼします。 解決Docker は、メモリ、CPU、またはディスク IO を制限する方法を提供しており、これにより、コンテナが占有するハードウェア リソースのサイズと量を制限できます。docker create を使用してコンテナを作成するか、docker run を使用してコンテナを実行するときに、このコンテナのハードウェア リソースを制限できます。 メモリ制限Docker が提供するメモリ制限機能は次のとおりです。 1. コンテナが使用できるメモリとスワップ パーティションのサイズ。 2. コンテナのコアメモリサイズ。 3. コンテナ仮想メモリのスワッピング動作。 4. コンテナ メモリのソフト制限。 5. メモリを過剰に占有するコンテナを強制終了するかどうか。 6. コンテナの強制終了の優先度 -m, --memory メモリ制限。形式は数値と単位です。単位は b、k、m、g のいずれかです。最低4M --memory-swap メモリの合計制限 + スワップ パーティション サイズ。上記と同じ形式です。必須 -m はメモリのソフト制限を設定します。上記と同じ形式 --oom-kill-disable OOM キラーがコンテナを強制終了するのを防ぐかどうか。デフォルトでは設定されていません --oom-score-adj OOM キラーによって強制終了されるコンテナの優先度。範囲は [-1000, 1000]、デフォルトは 0 です --memory-swappiness は、コンテナの仮想メモリ制御動作を設定するために使用されます。値は 0 から 100 までの整数です。 --kernel-memory カーネル メモリの制限。上記と同じ形式、最小サイズは4M ユーザー メモリ制限は、コンテナーが使用できるメモリとスワップ パーティションのサイズを制限します。 -m、--memory オプションの最小パラメータは 4M です。 --memory-swap はスワップ パーティションではなく、メモリとスワップ パーティションの合計サイズであるため、--memory-swap は -m、--memory よりも大きくする必要があります。 CPU 制限docker run コマンドと CPU 制限に関連するすべてのオプションは次のとおりです。 --cpuset-cpus="" 使用できるCPUのセット。値は0~3、0、1です。 -c, --cpu-shares=0 CPUシェアの重み(相対重み) cpu-period=0 は CPU CFS 期間を 100 ミリ秒から 1 秒の範囲で制限します (つまり [1000, 1000000])。 --cpu-quota=0 CPU CFS クォータを制限します。1ms 以上、つまり >= 1000 である必要があります。 --cpuset-mems="" メモリノード (MEM) での実行を許可します。NUMA システムでのみ有効です。 --cpuset-cpus は、コンテナが使用できる vCPU コアを設定するために使用されます。 -c、--cpu-shares は、複数のコンテナが CPU を競合する場合に、各コンテナに割り当てることができる CPU 時間の相対的な割合を設定するために使用されます。 --cpu-period と --cpu-quata は、コンテナが使用できる CPU 時間の絶対量を設定するために使用されます。 これで、docker を使用してコンテナ リソースを制限する方法についての説明は終了です。docker コンテナ リソース制限の詳細については、123WORDPRESS.COM の以前の記事を検索するか、次の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。 以下もご興味があるかもしれません:
|
>>: MySQL で JSON 形式のフィールドをクエリする詳細な説明
序文Workbench が 1 台のコンピューターにインストールされており、別の Ubuntu サー...
目次序文質問オンラインソリューション序文この記事の内容は私がこの業界に入ったときのメモを元にしている...
必要な項目をループして検証するために、クエリ フォームのいくつかのプロパティを実装したいと考えていま...
トランザクション分離レベルの設定 グローバルトランザクション分離レベルを読み取りコミット済みに設定;...
SQLはテーブル内の重複レコードをすべて見つけます1. テーブルには id と name の 2 つ...
目次1. カスタム指示の登録1.1. グローバルカスタム指示1.2. ローカルカスタム指示2. カス...
今日システムを再インストールした後、コンピューターに mysql を再インストールし、ZIP ファイ...
1. Vue - 最初の vue-cli プログラムVueの開発はNodeJSに基づいています。実際...
Nginx はバージョン番号を非表示にする実稼働環境では、セキュリティ上の脆弱性の漏洩を避けるために...
MySQL は非常に強力なリレーショナル データベースです。しかし、初心者の中には、インストールや設...
目次1. JSの特徴1.1 マルチパラダイム1.2 説明1.3 シングルスレッド1.4 ノンブロッキ...
1. vue2 での従来の書き方 // 親コンポーネントは 'foo' を提供します...
IE は開発の初期段階では頭を悩ませましたが、他のブラウザとは異なります。他のブラウザがサポートして...
技術的背景Latex は文書作成、特に記事作成には欠かせないツールであり、必須のテキスト組版ツールで...
1. 新しいユーザーを作成します。 1. SQL ステートメントを実行して新しいものを作成します (...