ASP.NET を使用していますが、アプリケーションが CPU や RAM のリソースを大量に使用することがあります。すべての仮想ディレクトリ/Web サイトのリソースを制限し、アラート レベルに達したときにアラートを取得したいと考えています。
IIS でこれを実行できるかどうかはわかりませんが、Apache などの他の Web サーバーでこれを実行できるのでしょうか?
Java では、Java 仮想マシンに特定のスレッドの CPU 時間制限を適用させることはできません。作成するスレッドにスレッドの優先度を設定するのが最善の方法です。他に実行する作業がない場合、スレッドは、何か (I/O、同期モニターなど) でブロックされていない限り、できる限り多くの CPU サイクルを消費します。
JMX を使用すると、スレッドに関する情報を取得して、スレッドのランナウェイ状況を検出できる可能性がありますが、スレッドに許可される CPU 時間の量を直接制御することはできません。
動的コンテンツやその他のサービスを再設計する場合は、完全な要求の作業量よりもいくらか少ない「作業単位」をサポートできるようにそれらを作成できます。リクエスト処理スレッドに作業単位を実行させてから、適切な時間スリープさせます。これを行うことで CPU 使用率を下げることができますが、応答時間もかなり遅くなります。
ユーザーが満足している場合、CPU をフルに活用することに問題はありますか? おそらく、あなたの問題に対する本当の解決策は、より多くの、またはより大きなハードウェアです。