、ドッキングウィンドウのリソースの制約
カーネルを実行できるドッキングウィンドウには二つの特徴、名前空間、およびのcgroupに依存します。デフォルトでは、コンテナのリソース制限はありません、それはコンテナに割り当てることができるホストカーネル上のすべてのリソースを使い果たすことができます。そのため、コンテナがなくなっ実行しているホストのすべてのリソースを防ぐために、我々は、リソース制限を使用する必要があります。そして、資源制約の機能のいくつかは、LinuxカーネルのサポートLinuxの機能、ドッキングウィンドウの前にバージョン1.13以降のバージョンではまた、リアルタイムのスケジュールをサポートする、唯一のCFSスケジュール(完全にフェアスケジューラ完全に公正なスケジューラ)をサポートし、必要
CFSスケジュール:各プロセスは100から139から優先、非優先リアルタイムプロセスを有し、CSFスケジュールはこれらの非リアルタイムプロセススケジューラをスケジュールするために使用され、より高い優先度のプロセスは、第1のCPUが実行されます
リアルタイムスケジュール:優先順位リアルタイムプロセススケジューラ、0-99からのプロセスは、リアルタイムスケジュールはスケジューリングリアルタイムプロセススケジューラに専用されています
二、ドッキングウィンドウのメモリ、CPUリソース制限パラメータ
図1に示すように、CPU制限
--cpus = <値>:コア4 CPUは、無--cpuset-CPUの場合、次いで1.5 CPUリソースは、コア・コンテナを使用でき、1.5に設定することができれば、利用可能なコンテナのCPUリソースを使用することができる方法を指定次いで、1.5のコアは、コアリソースのいずれかとすることができる使用することができます。このオプションは、上記docker1.3で使用することができます
--cpu-株:容器比例配分CPUリソース、CPUリソース他の容器が空である場合、容器1は、必要に応じて、すべてのCPUリソースを使用して、任意のコアの処理にタスクを割り当てます
--cpuset-CPUを:CPUは、このパラメータは0に設定され、CPUおよび4は、その後数に応じてコア0-3のそれぞれを区別する場合は、コア・コンテナのために使用することができる指定し、それは第1のCPUで使用されてもよいことを意味しますそして、第2のコア。
2、メモリとスワップの制限
--memory = <値>:メモリの最大数は、容器として使用することができる指定プロセスは限界より多くのメモリを使用する場合、それは殺すかもしれません
--memoryスワップ:--memoryパラメータを設定していない場合は利用可能なスワップ領域の最大数として指定されたコンテナが、このオプションは、--memoryパラメータを使用しての前提の下で使用されている必要があり、このパラメータは有効になりません
- メモリ - swappinessを:スワップコンテナに配置された傾向か、0-100。
- メモリ予約:容器のソフトリミットメモリ使用量は、これが--memoryは、システムメモリがタイトな場合に設定されなければならない未満、このコンテナ容器のメモリ使用量の失われたメモリのメモリ値-reservation値を再利用することを意味します標準の予約まで
--oom-殺すディセーブル:コンテナプロセスがOOMが発生した場合、容器を殺傷するかどうか
第三に、圧力の使用は、テストのためのツールを測定します
1、テストメモリ
1.1、CPU使用率を制限するものではありません。
あなたが見ることができ、CPUの使用がいっぱいです
1.2、パラメータメモリ制限容器に添加し、再始動
パラメータの設定が有効になります
図2に示すように、メモリテスト
2.1、各128メートル、それは二つのメモリを感知する圧力を指定し、メモリの使用を制限するものではありません
メモリ256Mの実際の使用
2.2、メモリ制限を追加し、コンテナを再起動します
--memory容器は、メモリ128メートルを制限するために使用することができます