Windows system >> Windowsの知識 >  >> コンピュータソフトウェアのチュートリアル >> サーバー技術 >> サーバーについて >> w3wpのCPUおよびメモリの問題を解決する方法

w3wpのCPUおよびメモリの問題を解決する方法

  
WINDOWS 2003 IIS 6では、w3wpのメモリ使用量が間に合わずに解放されず、サーバの応答が遅くなります。実際のケースサーバーの構成Xeon 2.8 Gメモリ512 M SCSIハードディスク2(ソフトイメージ)System windows 2003問題は、サーバーが2〜3日間動作するたびに、Webサイトへのアクセスが非常に遅くなり、サーバーを再起動した後に正常になることです。
メモリを使用してプロセスを表示します。w3wp.exeおよびsqlservr.exeプロセスのメモリが170 M(それぞれ)を超えて非常に大きく、物理的に使用可能なメモリがほとんど使い果たされていることを確認します。前のWebサイトは仮想マシンにハングし、データベースは別々にハングされていましたが、これは一度も発生したことがありません。
その後、元のバージョンが新しいサーバーに移植されましたが、これも問題で、SQL Enterprise Managerでは、SQLプロセスに多くの問題があることが判明しました。解放:アクションを実行します。IISサービスマネージャ---- "Application Pool ----"アプリケーションを追加して最大メモリを設定します。プログラムが最大メモリに達すると自動的に再起動します。
メモリを2Gにアップグレードします。トラフィックは比較的多く、一般に実行後24時間で再起動します。メモリは使い果たされません。W3WPプロセスアカウントは189メガバイト、SQLアカウントは200メガバイトを超えます。再起動しないと、サイト全体が麻痺します。解決策1:Session、Cache、その他のリソースを大量に使用し、Sessionスーパーマーケットが非常に長い場合、w3wp.exeがASP.NETアプリケーションのホストになります。その場合、メモリ使用量は比較的大きくなります。アプリケーションプールはパフォーマンスを向上させるための機能ですが、多くのメモリを消費します。さらに、Windows Server 2003のほとんどのサービスをオフにします(オフにすることもできます)。また、メモリの一部を節約することもできます。1. CACHEのアプリケーションで疑われます。2. CACHEには大量のデータがありますBR> 3。CACHEを頻繁に更新する4. CACHEを設計する方法はありません解決方法2:
SQL呼び出しレコードを追跡し、CACHEまたはSESSIONに大量のデータを書き込むたびに時間を記録します。それがあまりにも頻繁であるかどうかを確認してください
1。Win2003では、asp.netプロセスはw3wp.exe
2.512Mメモリ個人使用で十分ですが、サーバーに置くだけでは十分ではない、特にwin2003 Asp.netのSQLサーバー。特にSQL Serverは、彼は制御されていない場合は、彼は非常にメモリを食べている、彼はすべての物理メモリを占有します(わずか100万Mの残り100 M)。 Win2003自体は約150Mを占めます。何も残っていません。
3. 2階が言ったように、asp.netプログラムを最適化し、セッションキャッシュアプ​​リケーションを使用するなどしないでください。そうすると、ページをめくる場所がなくなり、ページめくりがよくありません。たくさんのメモリを取ります。
4. SQLメモリを制限します。 Enterprise Manager - SQL属性(通常はローカル) - 「メモリー」タグ。ここでメモリ設定を見て、最大値を100Mに変更してください。
解決策3:少し研究したところ、次のような設定を行うことができます。
1、IISで各サイトに個別のアプリケーションプールを設定します。つまり、お互いに影響することはありません。 2、アプリケーションプールのリサイクル時間を設定し、デフォルトは1720時間です、状況に応じて変更することができます。同時に、同時に実行されているw3wpプロセスの数を1に設定します。次に、メモリまたはCPUの占有量を設定します。メモリが自動的に再利用されます。一般的に、これは解決できます。ただし、手続き上の問題のために正しくリリースできない個々のWebサイトがまだあります。
では、どのWebサイトを確認するのですか。 1、タスクマネージャにdisplay pidフィールドを追加する。最も高いメモリまたはCPUを占有しているプロセスpid
を確認し、コマンドプロンプトでiisapp -aを実行します。初めて実行したときは、jsのサポートがないことを確認するメッセージが表示されます。[OK]をクリックします。その後、もう一度実行してください。このようにして、pidに対応するアプリケーションプールを見ることができます
3、そしてIISのアプリケーションプールに対応するWebサイトを見ることができます、それは大丈夫です。解決策4:Jianyi 2003システムは少なくとも1Gのメモリをインストールした。
w3wp.exeは2003年のIISプロセスです。SQLがメモリを占有しているため、SQLがメモリの上限を超えるように設定されていない可能性があります。
IIS6では、多くの場合w3wp.exeのメモリとCPU使用率時間内に解放され、サーバーの応答が遅くなりました。
あまりにも多くのメモリ使用量を解決するには、次の設定を行うことができます。
1、IISごとに別々のアプリケーションプールを設定します。つまり、お互いに影響することはありません。 2、アプリケーションプールのリサイクル時間を設定し、デフォルトは1720時間です、状況に応じて変更することができます。その後、メモリ使用量(500Mなど)を設定すると、自動的にメモリが再利用されます。あまりにも多くのCPU使用率を解決します。1、各サイトのIISで、個別のアプリケーションプール構成を設定します。つまり、お互いに影響することはありません。
2、アプリケーションプールのCPU監視を25%以下(サーバーは4CPU)に設定し、毎分更新し、制限を超えたときに閉じる。 w3wpに従って、その1つのアプリケーションプールを取得します。1、タスクマネージャにdisplay pidフィールドを追加します。最も高いメモリまたはCPUを占有しているプロセスpid
を確認し、コマンドプロンプトでiisapp -aを実行します。初めて実行したときは、jsのサポートがないことを確認するメッセージが表示されます。[OK]をクリックします。その後、もう一度実行してください。これにより、pidに対応するアプリケーションプールが表示されます。 (iisappは実際にはC:\\ windows \\ system32ディレクトリに格納されているVBSスクリプトです。フルネームはiisapp.vbsです。あなたも私もVbsデフォルトアソシエーションプログラムから禁止されている場合は、まず手動でディレクトリに移動する必要があります。 openメソッドを選択してから、実行する「Microsoft(R)Windowsベースのスクリプトホスト」を選択します。IDとアプリケーションプールの対応関係を取得できます。3)、iisでアプリケーションプールに対応するWebサイトを表示します。 OK、上記のメモリまたはCPUの制限をするか、プログラムでデッドループなどをチェックしてください。
Copyright © Windowsの知識 All Rights Reserved