»この改善点

サイト紹介-メモリ オーバーフロー問題: 破壊されます例外を処..

このカテゴリの最新加入サイトこのカテゴリの最新の加入:iPhone&Xperiaケース専売サイトErakaba

メモリ オーバーフロー問題:破壊されます例外を処理する必要がありますか?

ランタイム エラー

最初のプログラムの例外またはエラーは避けられない、しかし、例外が発生すると、システムする必要があります簡単にこの問題の理由を説明するときにユーザーに使いやすいインターフェイスを提供、私の解決策になります。
CustomErrors モード ="Off"/構成
HttpModule またはイベントで、フレンドリーなすべてのエラーを検出し、指定したページにジャンプします。フレンドリーなすべてのページの Page_Error イベントの基本クラスでも検出することができ、ソリューションでは、これは非常に良い, この地域の教会のブログ宝石へのよい紹介提供指定ページ ASP.NET フォーラムにジャンプ

第二に、破壊されます例外処理

どのような条件の下で OutOfMemonryException が表示されますか?

導入。 NET Framework プログラミング改正版単語: で我々 しようとする新しいオブジェクト市、およびガベージ コレクション デバイスと検索されません任意の利用可能なメモリの市だったがスローされますこの状況我々 は夏の例外をキャプチャすることができます、別の状況は、CLR 市のメモリを必要とは、システムが提供できない意志も、例外をスローしますが、アプリケーションの我々 はのエラーをキャプチャすることはできません。

NET Framework 開発者は、暗黙の前提を考えることはほとんどない破壊されます例外をプログラミングの見直しについて」多くの開発者を考慮していない例外が発生して対処、少なくとも私は知っている私は具体的には、異常な開発システムを考慮していません。

問題は今を考える:
1 場合、新しいオブジェクト使用可能なメモリがスローされますこの例外は見つかりませんでした、それは今またはイベントの HttpModule をキャプチャできますエラーですか? 私の考えをキャプチャすることができる場合でもはしないつもりだった対処するまだ処理カスタム例外は、これを実行するメモリを必要とするためどのようなキャプチャすることができます、友好的ではありません

2) の場合、CLR は修正の例外がスローされた必要なメモリの場合を見つけることができません、それはされているさらにもっと困難に対処するには

つまり、ほぼすべての状況下で我々 はしないシステムで使いやすいインターフェイスを提供することができる破壊されます例外を受け取るか?

サーバーの構成

1。 インストール、. NET Framework 1.1 サービス パック 1 修正プログラム セクションはメモリ リークといくつかの問題を解決する、アドレスをダウンロード:http://www.microsoft.com/downloads/details.aspx?displaylang=en&FamilyID=a8f5654f-088e-40b2-bbdb-a83353618b38

2。多くのメモリを使用します。
A./3 GB スイッチは、(いる場合 3 GB 以上のメモリ) を開きます。このプロファイルは Windows Server 2003 および Windows 2000 Advanced Server とデータ センターの版でのみ使用がサポートされている上記、http://msdn.Microsoft.com/library/default.asp?url=/library/en-us/dnpag/HTML/scalenetchapt17.aspを参照してください。
http://support.microsoft.com/default.aspx?scid=kb;en-us;820108
B. 多くのメモリがある場合でもは。 NET (、ASP.NET ワーカー プロセスではないに注意してくださいが。 ネットはある特定の限界の全体で使用されるメモリ、メモリのオーバーフローの発生を減らすに使用する構成の量を増やすことができます。メソッドは次のように: the%System%/Microsoft.Net/Framework/v1.1.4322/CONFIG ディレクトリ内の machine.config ファイルを変更、processModel 要素の memoryLimit の変更、60 (つまり物理メモリの 60%) の既定の設定よりも大きい。

3。回復のスレッド

IIS の定期的に明確な仕事のプロセスはこの異常を避けるために良い方法を設定します。ただし、この機能は、IIS 6.0 (IIS と Windows 2003 年) がサポートされています。次のように構成: IIS アプリケーション プールの構成を変更、DefaultAppPool (お使いのシステムが使用する場合、プール)、リサイクル、右クリックしてのプロパティ設定を選択し、状況に応じて変更された ["次でワーカー プロセスをリサイクル時間などのいくつかの構成:'、定期的にワーカー プロセスのリサイクルより良い方法は、労働者を避けることができますプロセスがときにリサイクル、クライアント セッションを引き起こしているは失われます。
Windows 2000 IIS 5.0 がインストールされているサーバーでそれ自体はサポートしていません、リサイクルがこれを達成するためには難しくありません。Microsoft IIS ではそのようなプログラムは、IIS5Recycle、サービス インストール後、ワーカー プロセスがリサイクルされるとを提供しています。
インストール手順を参照してくださいhttp://support.Microsoft.com/?ID=322350

コーディングの問題

1。System.Drawing クラスを使用して問題
System.Drawing 多くのシステム リソースとアンマネージ コードを使用するので細心の注意を使用するときは、そのメモリに注意してくださいリーク (メモリ リーク) 例えば: BitMap.MakeTransparent の使用法の質問:http://www.dotnet247.com/247reference/Msgs/40/202528.aspx

2。新しいバイト問題
新しいバイト配列へのストリームを処理するときによく使用されます。しかし、マルチ ユーザーの状況で大量のメモリを消費することができます。正しいことを行うキャッシュとして小さいバイト配列を定義するだろうし、し、リサイクルします。私たちのプログラムに、画像 (または別館) が大きすぎて、いくつかの場所の不適切な使用またはあまりにも多くの時間、新しいバイト [長さ] のそれはあまりにも多くのメモリを消費することが可能です。
3. オブジェクトの大きな配列または小さなオブジェクトの配列を使用しないでください
同様に効率的である重要なプログラミングの問題 (メモリの問題を含む) を実行します。
4。Com インターフェイスの呼び出しに注意してくださいそのオブジェクトは破棄されます。
2005-01 - 25 投稿 13:37 Chainet
イベントの種類: エラー
イベント ソース: アプリケーション
イベント カテゴリ: なし
イベント ID:0
E メール: 2005年-11-19
イベント: 15:40:49
ユーザー: N/A
コンピューター: WEBHOST1
説明: イベント ID (0) 説明 (リソース (アプリケーション)) を見つけられませんでした。ローカル コンピューターは、必要なレジストリ情報またはリモート コンピューターからメッセージを表示するメッセージ DLL ファイルを持たないかもしれない。/AUXSOURCE を使用することができますを取得して word; ヘルプを参照してください詳細についてはサポート ID を =。以下の情報はイベントの一部: System.OutOfMemoryException: 種類 System.OutOfMemoryException の例外。
http://blog.joycode.com/kaneboy/archive/2005/05/07/50409.aspx

ASP.NET 破壊されます。

公園鋸庭師は破壊されます例外を処理する方法にブログ記事を書いたか?だから、ASP.NET で破壊されます問題を共有したいです。
実際には、ASP.NET Web server で、ASP。NET は、通常、すべてのメモリの量に等しくはないメモリを使用できます。Machine.config 構成ファイル属性を持つプロセス モデル構成セクション"memoryLimit"属性の値はパーセント値では、既定値は「60」ASP.NET プロセスが物理メモリの 60% の使用を有効 (aspnet_wp IIS6 w3wp のタスク マネージャーのプロセス IIS5 で ASP.NET で見ることができます) を指定します。IIS は、この制限を超えるメモリの容量を使用すると、ASP.NET は、開始する自動リサイクル (リサイクル) プロセス、Http 要求、およびプロセスによって占有メモリ使用のコレクションへの対応を担当する新しいプロセスが作成されます。
我々 は非常に大きなメモリ サーバーが"memoryLimit"この値が必要です適切な調整のため。4 G メモリ サーバー、たとえば、4Gx60%=2.4G をご用意しました。Win32 オペレーティング システム プロセスは 2 g だけのすべてのメモリ スペースを消費することができます。2 G があるときの起動時 ASP.NET プロセス「リサイクルのしきい値」の 2.4 G を達成しなかったので、投げ出される可能性があります破壊され、IIS リサイクル処理操作は開始されませんが、Win32 の制限により実際には、されている、プロセスをより多くのメモリを割り当てることができるので、メモリを消費します。このような状況を避けるために私たちする必要があります"memoryLimit"右下許可、IIS プロセスの前のリサイクルします。
マイクロソフトが推奨する ASP.NET プロセスのフット プリントが未満 60 %、最高 800 M を超えない実際値を計算します。、4 G は、サーバー、つまり最高の"memoryLimit"属性「20」に設定します。IIS プロセスのリサイクルやがて破壊されますを回避するサーバー全体の安定的な運用を確保する、適切なリサイクルのしきい値聞かせてセットは非常に重要です。
IIS6 ASP でNET プロセス リサイクルのしきい値の構成セクションでは、もはや"memoryLimit"プロパティは、アプリケーション プールの IIS マネージャーで構成の設定。
ただしを完全に避けるために保証はありませんこれらの構成が正しく設定される場合も破壊されますが発生する可能性がありますに起因する多様で複雑な機能やメモリなどの回復操作可能性がありますあまりにも多くを取る。開発者だけ念頭にコード内でべきではな無意味とメモリの無駄の注意を払う必要があります。:)

System.OutOfMemoryException この問題が発生するため複数のプロセッサ (またはマルチコア) コンピューター NET CLR ガベージ コレクション (GC) メカニズムはそれに使用するサーバー モード既定 (サーバー モード) が実行されている、他の言葉で「各 CPU がスタンドアロン GC メモリ領域 (スタック、ヒープ)」、ので GC メモリ スペース使用する場合。 500 MB と 4 を持っているかどうかの CPU、2 GB のメモリを使用することを意味し、System.OutOfMemoryException の例外が生成されます !
メモリ使用量を節約するために同じ GC ヒープを共有するすべてのホストを実行できるように、この問題を解決するためには GC はワークステーション モード (ワークステーション) に設定です。(A. NET 1.1 the%WINDIR%/Microsoft.NET/Framework/v1.1.4322/Aspnet.config 構成ファイルを変更する場合) はデフォルト GC ワークステーション モードに変更する the%WINDIR%/Microsoft.NET/Framework/v2.0.50727/Aspnet.config 構成ファイルを変更する必要があります。
プリセット Aspnet.config このように見えた:

《? xml のバージョン =「1.0」エンコーディング =「UTF-8」? 》
《configuration》
《runtime》
有効にする 《legacyUnhandledExceptionPolicy ="false"/》
有効にする 《legacyImpersonationPolicy ="true"/》
有効にする 《alwaysFlowImpersonationPolicy ="false"/》
有効にする 《SymbolReadingPolicy =「1」/》
《/runtime》。
《/configuration》。
有効になっている gcServer を追加する必要があります ="false"/as 次のとおりです。
《? xml のバージョン =「1.0」エンコーディング =「UTF-8」? 》
《configuration》
《runtime》
有効にする 《gcServer ="false"/》
有効にする 《legacyUnhandledExceptionPolicy ="false"/》
有効にする 《legacyImpersonationPolicy ="true"/》
有効にする 《alwaysFlowImpersonationPolicy ="false"/》
有効にする 《SymbolReadingPolicy =「1」/》
《/runtime》。
《/configuration》。

このセットは完了です !

しかし、これはメモリ不足の例外のほとんどはでオペレーティング システムの 64 ビットの問題は、登場していない登場のようであれば、オペレーティング システムの 64 ビットを使用している (として: Windows Server 2003 64 ビット) 言葉ではないあまりにもニーズの調整のそんな君がメモリのまた十分なより多くの唯一の行にそれ以外の場合あまりにも多くのポイントのページの状態は、意志の執行パフォーマンスの ASP.NET アプリケーションを削減 !

それに加え、環境では、正式な (生産)、ASP.NET アプリケーションの開発で Web.config 設定のデバッグをオフにする必要がありますとトレース、余分なメモリ負担。ASP.NET アプリケーションがデバッグ モードのときはすべてのシンボル ファイル (*.pdb) が読み込まれますを有効にメモリ、多くのメモリを消費するだけでなく、パフォーマンスが低下します。詳細については、マイクロソフト サポート技術情報を参照してください: ASP.NET で高いメモリ レベルが発生するときをチェックする簡単なものです。


当サイトのご注目ください:w w w. 0430. c o m
上に立つ:  ウェブサイトの最適化に成功し、生活の思考源


申明:本資料は0430会員に提供し、転載出所を明記してもらい、出典:http://jp.0430.com/cn/web237151/。
メモリ オーバーフロー問題: 破壊されます例外を処理する必要がありますか? 感谢您的支持与分享!
このサイトを踏まれ0
このサイトを支持する1
駅長の声:支持当サイトは、頂てあるいは好評のように!  
今がある1人へ『メモリ オーバーフロー問題: 破壊されます例外を処理する必要がありますか?』発表評論 »すべての評論

  氏名 : * られ、留空は匿名発表
  内容 :
殘りの字数:  * 押す Ctrl + Enter 送信.
           
0430ヒント:資料は、グローバル駅会員で発表して、みんなは熱弁真偽;評論だけ必要提出に一度、気長にお待ちくださいパス、侧表示。
1階 メモリ オーバーフロー問題: 破壊されます例外を処理する必要がありますか? [*.*.*.*] 発表于 2014/08/13/ 11:02:00
ようこそ訪問当サイト!
メモリ オーバーフロー問題: 破壊されます例外を処理する必要がありますか?:導入。
サイトのバージョン: English  中文(简体)  中文(繁體)  日本語  Español
会社概要 | お問い合わせ | ホームページ | 免責事項 | リンク | サイト マップ | 分類目録 | 収録条件 | 収蔵本ページ
Copyright 2004-2018 版権所有 jp.0430.com
世界中の図書館 - 私たちの生活にあなたのサイトが近づける!
免責声明:みんなはすべて使ってサイト資料に、自ら明らかにする、結果自負,0430は一切の責任を負わない。