Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.

SQL Anywhere 11.0.1 (日本語) » SQL Anywhere サーバ - データベース管理 » データベースの起動とデータベースへの接続 » データベース・サーバ » データベース・サーバ・オプション

 

-gn サーバ・オプション

データベース・サーバが同時に実行できるタスクの最大数を設定します。

構文
{ dbsrv11 | dbeng11 } -gn integer ...
適用対象

すべてのオペレーティング・システムとデータベース・サーバ

備考

このオプションは、データベース・サーバの最大マルチプログラミング・レベルを設定します。データベース・サーバが同時に実行できるタスク (ユーザ要求とシステム要求) の数を制限します。データベース・サーバが最大数を超える要求を受け取った場合、新しい要求は実行中のタスクが完了するまで待つことになります。

未スケジュールの要求とアクティブな要求を加算した総数は、-gm サーバ・オプションで制限されます。これにより、サーバへの接続数を制限します。

-gn 値の設定が大きすぎると、データベース・サーバのシステム・リソースが大量に消費されるため、エラーになる場合があります。

ネットワーク・データベース・サーバとパーソナル・データベース・サーバではいずれも、アクティブ・タスクのデフォルト値は 20 に設定されています。ただし、Windows Mobile の場合は、このデフォルト値は 3 です。同時に実行できるアクティブ・タスクの数は、データベース・サーバのスレッドの数と、使用されている論理プロセッサの数によって異なります。

データベース・サーバのカーネルは、スケジューリングの単位としてタスクを使用します。ユーザ要求を実行するには、最低 1 つのタスクが必要です。ただし、1 つの要求に伴って追加のタスクがスケジューリングされることがあります。たとえば、外部のプロシージャや関数 (Java、Perl、CLR など) の実行を伴う要求では、データベース・サーバに対してデータベース要求が発行されます。

クエリ内並列処理が関連する場合は、同時に実行される各アクセス・プラン・コンポーネントがタスクになります。これらのタスクは、実際は個別の要求であるものとして、-gn オプションで指定された制限に考慮されます。ただし、クエリ内並列処理で作成されたタスクは、アクティブな要求とアクティブでない要求の数を追跡するデータベース・プロパティには反映されません。

警告

-gss で指定したスタック・サイズは、各データベース・サーバ・タスクに割り当てられ、タスクの最大数は -gn オプションで指定します。-gss と -gn の両方のオプションに大きい値を設定すると、データベース・サーバが起動しないか、キャッシュ・サイズが大幅に制限される場合があります。たとえば、データベース・サーバの起動時に -gss オプションで 16 M を指定し、-gn オプションで 100 を指定すると、スタック用だけに 1.6 GB のメモリが割り当てられます。

参照