wrapper.ntservice.process_priority プロパティ

対応バージョン :2.2.7
対応エディション :プロフェッショナル版スタンダード版コミュニティー版
対応プラットフォーム :WindowsMac OSX (未対応)Linux (未対応)IBM AIX (未対応)FreeBSD (未対応)HP-UX (未対応)Solaris (未対応)IBM z/Linux (未対応)

警告

コンフィギュレーションファイルを使って、 アプリケーションをWindowsサービスとしてインストールしている場合、このプロパティ値を変更しないでください。 このプロパティ値を変更する前に、必ずアプリケーションを既存サービスからアンインストールしてください。 後に、新しい設定値で、サービスを安全に再インストールすることができます。

このプロパティは、Windowsプラットフォームで使われるプロパティです。

このプロパティには、 Windowsサービスとして、あるいは、コンソールアプリケーションとして動作しているとき、 WrapperやJVMの優先度を設定します。

可能な値は次のとおり:

  • [LOW] (低),
  • [BELOW_NORMAL] (標準以下),(注意:Windows NT, 95, 98 上ではサポートされていません)
  • [NORMAL] (標準),
  • [ABOVE_NORMAL] (標準以上),(注意:Windows NT, 95, 98 上ではサポートされていません)
  • [HIGH] (高),
  • [REALTIME] (リアルタイム)

デフォルト値は「NORMAL」です。

設定例:
wrapper.ntservice.process_priority=NORMAL

警告

このプロパティを、 [HIGH] あるいは [REALTIME] へ変更すると、そのWrapperやJVMが最初に有効なCPU全能力を消費することになります。 It will only yield CPU to other processes when it does not need the cycles itself. これは、無反応なUI(ユーザーインターフェイス)を含み、多くの問題を引き起こします。

弊社では、JVMがコンソール出力を大量に出力して長時間にわたりCPU100%消費しているとき、 WrapperとそのJVMの間でタイムアウトの問題を見かけています。 もし、このデフォルト値を変更して、このタイムアウト問題に悩んでいる場合、 弊社のサポートへ連絡する前に、 このプロパティをデフォルトの優先度 [NORMAL] へ戻してください。

注意

Wrapperプロセスの優先順位上、 このプロパティでは、 コンフィギュレーションのリロード(再読み込み) で、このプロパティ値を有効にすることはできません。 しかし、JVMプロセスを再起動した優先度は、更新された値を引き受けます。

注意

Windows API から、各優先度レベルは下記に示すとおりです:

NORMAL(標準)

特にスケジューリング予約の必要がないプロセスに、このレベルを指定します。

LOW(低)

システムがアイドルの時だけに動作するスレッドを持つプロセスに、このレベルを指定します。 そのプロセスのスレッドは、 優先度が高いレベルで動作しているプロセスのスレッドが優先されます。 例として、スクリーンセーバーです。 このアイドル優先の「低」レベルは、子プロセスによって継承されます。

HIGH(高)

即座に実行されなければならない処理スピード重視であるタスクを実行するプロセスに、 このレベルを指定します。 そのプロセスのスレッドは、「標準」あるいは「低」レベルのプロセスのスレッドよりも優先します。 OS(オペレーティングシステム)上でロード(読み込み)に関わらず、 ユーザーの呼び出しで即時に応答しなければならないような、例えば、タスクリストです。 優先度の高いレベルを利用するときには、十分に注意してください。 なぜなら、優先度の高いレベルのアプリケーションが、有効なCPU稼働をほとんど利用してしまうためです。

REALTIME(リアルタイム)

可能な限り最高の優先度が必要なプロセスに、このレベルを指定します。 そのプロセスのスレッドは、 重要なタスクを実行している OS(オペレーティングシステム) プロセスを含み、 他の全てのプロセスのスレッドよりも優先されます。 例えば、とても短いインターバル(一定間隔)よりも頻繁に実行するリアルタイムプロセスが、 ディスクキャッシュをフラッシュ(書き出し)しない問題を引き起こしたり、あるいは、 マウスが応答しなくなる問題を引き起こすことがあります。