Windows Server 2003WebでIIS 6を実行しています。
メモリをリークするサードパーティのコンポーネントがいくつかあるため、IISを再起動する定期的なジョブをスケジュールしました。ジョブは単にiisrestart /reset
を呼び出しているだけで、ジョブを実行しているようです...しかし、3つのエラーと警告を含むイベントログイベントの大きな古い山が確実に生成されます。おそらく私たちはそれを間違っているのですか?
Windowsがすべてを混乱させることなくIISプロセスをリサイクルする「よりクリーンな」方法はありますか?監視が改善されるにつれて、prodWebサーバーでのエラーイベントが不必要な注意散漫を引き起こします。
好奇心旺盛な方のために、イベントの「サイクル」は次のようになります(簡潔にするために説明テキストを少し省略しました)。これらはすべて1〜2秒のスパンで発生します。
警告-WinRM-ID10149-WinRMサービスはWS-Management要求をリッスンしていません
情報-IISCTLS-ID6-IISサービスの停止中にリセットでエラーが発生しました
情報-サービスコントロールマネージャー-ID7035-SMTPサービスは正常に停止制御を送信されました
情報-サービスコントロールマネージャー-ID7035-Windowsリモート管理サービスが停止制御を正常に送信しました
情報-サービスコントロールマネージャー-ID7036-Windowsリモート管理が停止状態になりました
エラー-サービスコントロールマネージャー-ID7034-ワールドワイドウェブパブリッシングサービスが予期せず終了しました。これをx回実行しました
エラー-サービスコントロールマネージャー-ID 7034-IIS管理サービスが予期せず終了しました
エラー-サービスコントロールマネージャー-ID7034-SMTPサービスが予期せず終了しました
情報-IISCTLS-ID 4-IISユーザーから受信したkillコマンド。
情報-IISCTLS-ID2-IISユーザーから受信した停止コマンド。
情報-サービスコントロールマネージャー-ID7035-IIS管理サービスサービスに開始コントロールが正常に送信されました
情報-サービスコントロールマネージャー-ID7035-World Wide Web PublishingServiceサービスに開始コントロールが正常に送信されました
情報-サービスコントロールマネージャー-ID7035-SMTPサービスに開始コントロールが正常に送信されました
情報-サービスコントロールマネージャー-ID7035-Windowsリモート管理サービスに開始コントロールが正常に送信されました
IISワーカープロセス分離モードで実行していますか?その場合、より良い解決策は、アプリケーションプールのリサイクル機能を使用することです。問題のあるアプリケーションを独自のプールに入れて、そのプールのみを再起動できます。さまざまな基準に基づいて処理します(X分ごと、メモリ使用量がYメガバイトに達したとき、アプリへのZリクエストがあるときなど)。
MattBの回答が最適(IMO)です。別のオプションは、アプリケーションプールプロセスを強制終了することです。
次のことを行う必要があるため、これにはもう少し作業が必要です。
ただし、これはIISサービス(ログにメッセージを生成しているもの)全体のリサイクルを行いません。