スレッド不足エラー

プロセス・スレッド・モデル

スレッド不足エラー

発行したクエリの開始に必要なサーバ・スレッドが不足している場合は、次の ようなエラーが発生します。

Not enough server threads available for this query

この状況は、すぐに解消される場合もあります。他のクエリが完了してからク エリを発行すると、使用可能なスレッドが増えるため、クエリが成功する場合 があります。この状況が続く場合は、次の項で説明するように、サーバを再起 動し、Sybase IQ スレッド数にさらに大きな値を指定する必要があります。

スレッド使用を管理するための Sybase IQ オプション

Sybase IQ には、スレッド使用の管理に役立つ次のオプションがあります。

Sybase IQ に使用可能な最大スレッド数を設定するには、サーバ起動オプ ション -iqmtを設定します。デフォルト値は接続数と CPU 数によって計 算され、通常、デフォルト値をそのまま使用できます。

サーバ内の内部実行スレッドのスタック・サイズを設定するには、サーバ 起動オプション -iqtssを設定します。通常はデフォルト値で十分ですが、 複雑なクエリを実行したときに、スタックの深さがこの制限を超えている ことを示すエラーが返された場合は、値を増やします。-iqmtおよび -iqtssの詳細については、『Sybase IQ ユーティリティ・ガイド』の「第 1 章 デー タベース・サーバの実行」を参照してください。

ユーザ1 人あたりに使用するスレッド数の最大値を設定するには、SET OPTION MAX_IQ_THREADS_PER_CONNECTION コマンドを発行します。 特定の動作に使用するリソースの量を制御する場合にも、このコマンドを 使用します。たとえば、DBA INSERT またはLOAD コマンドを使用する 前にこのオプションを設定できます。

124

Sybase IQ

Page 140
Image 140
Sybase 12.7 manual スレッド不足エラー, スレッド使用を管理するための Sybase IQ オプション