Go to main content
Oracle® Solaris 11.3 でのリソースの管理

印刷ビューの終了

更新: 2016 年 11 月
 
 

CPU 配分の例

2 つの CPU を搭載したシステムがあり、それらの CPU は CPU にバインドされた 2 つの作業負荷 A および B を並列に実行しているとします。各作業負荷は別個のプロジェクトとして実行されています。各プロジェクトは、プロジェクト ASA 配分が割り当てられ、プロジェクト BSB 配分が割り当てられるように構成されています。

従来の TS スケジューラを使用した場合、システムで実行されている各作業負荷には、平均して同じ量の CPU リソースが与えられます。つまり、各作業負荷にはシステム容量の 50% が割り当てられます。

FSS スケジューラの制御で実行する場合でも、SA = SB の配分を割り当てると、各プロジェクトにほぼ等量の CPU リソースが与えられます。これに対して、プロジェクトに異なる配分を与えた場合、CPU リソースの割り当て量は異なります。

次に示す 3 つの例は、さまざまな構成での配分の働きを示しています。これらの例に示されているとおり、配分は、要求が使用可能なリソース量と同じまたはそれを超えている場合にのみ使用量を数学的に正確に表します。

例 1: CPU にバインドされた 2 つの プロセスが各プロジェクトに存在する場合

プロジェクト AB がそれぞれ CPU に結合されたプロセスを 2 つ持ち、かつ SA = 1SB = 3 である場合、配分の合計数は 1 + 3 = 4 になります。この構成で、十分な数の CPU 要求があると、AB には、それぞれ CPU リソースの 25%、75% が割り当てられます。

image:この図は、割り当てられた特定の量の配分に対して割り当てられる CPU リソースの割合を示しています。

例 2: プロジェクト間に競合がない場合

プロジェクト AB がそれぞれ CPU に結合されたプロセスを1 つだけ持ち、かつ SA = 1SB = 100 である場合、配分の合計数は 101 になります。各プロジェクトは、実行中のプロセスを 1 つしか持たないため、CPU を 1 つしか使用できません。この構成では、CPU リソースを得るための競合がプロジェクト間に存在しないので、プロジェクト A および B には、それぞれ全 CPU リソースの 50% が割り当てられます。この構成の場合、CPU 配分は CPU リソースの割り当てに影響しません。プロジェクトへの割り当ては同じ (50/50) になります。これは、両方のプロジェクトに割り当てられる配分がゼロの場合でも同様です。

image:この図は、リソースの競合が存在しない場合に、割り当てられた特定の量の配分に対してどのように CPU リソースが割り当てられるかを示しています。

例 3: 一方のプロジェクトが実行されない場合

プロジェクト AB がそれぞれ CPU に結合されたプロセスを 2 つ持ち、かつ A に 1 配分、B に 0 配分が与えられている場合、プロジェクト B には CPU リソースがまったく割り当てられず、プロジェクト A にすべての CPU リソースが割り当てられます。プロジェクト B のプロセスは常にシステム優先順位 0 で実行されるため、実行される可能性はまったくありません。これは、プロジェクト A のプロセスの方が常に高い優先順位を持っているためです。

image:この図は、リソースの競合が存在する場合に、配分が割り当てられていないプロジェクトに対してどのように CPU リソースが割り当てられるかを示しています。