問題タブ [out-of-memory]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c# - Resharper が大きなソリューションで OutOfMemoryException をスローする
IDE 構成:
Visual Studio 2008 + Resharper 4.5.1 + Agent Smith 1.1.8 . last to add-ins には高度な構成はありません。
ソリューションの説明:
33 のクラス ライブラリ + 200 以上のページを持つ Web サイト。
症状: Resharper で調整して 1 時間作業した後、IDE が OutOfMemoryExection 例外をスローし始めます。通常の作業は不可能で、Visual Studio を再開するだけで解決できます。
誰もそのような問題を抱えていますか?より少ないメモリを消費するように Resharper を構成することは可能ですか? Resharper のどの機能が最も多くのメモリを消費しますか?
java - メモリ不足状態を検出する方法は?
Websphere Application Server 6.0でアプリケーションを実行していますが、メモリ不足が原因でほぼ毎日クラッシュします。詳細なGCから、メモリリークがあることは確かです(それらの多く)
残念ながら、アプリケーションは外部ベンダーによって提供されており、問題を修正するのは時間がかかり、面倒なプロセスです。プロセスの一環として、OOMが発生するたびにログとヒープダンプを収集する必要があります。
今、私はそれを自動化する方法を探しています。基本的な問題は、OOM状態をどのように検出するかです。1つの方法は、新しいヒープダンプを定期的に検索するシェルスクリプトを作成することです。このアプローチは私にはちょっと汚いようです。別のアプローチは、何らかの方法でJMXを活用することかもしれません。しかし、私はこの分野での経験がほとんどないかまったくなく、その方法についてあまりよくわかりません。
それとも、これのための何らかのトリガー/フックがありましたか?アドバイスありがとうございます!
.net - .NETGCとOutOfMemoryの例外を理解する
.NET2.0WindowsサービスアプリケーションでOutOfMemory例外のトラブルシューティングを行っています。この問題をよりよく理解するために、まず、OOM例外がスローされるまでArrayListを作成してOOM例外を生成する単純な.NETWinFormテストアプリを作成しました。例外がキャッチされてログに記録され、フォームボタンをクリックしてOOMEを再度実行できます。私が見つけた奇妙なことは、4回目の実行で、次のOOMEの前に消費されたメモリの量が約半分でした。以下にリストされている結果は、これを実行するたびに一貫しています。目を見張るようなタスクマネージャーも動作を確認します。残念ながら、より良い統計を取得しようとすると、Perfmonがフリーズしました。誰かが3回の実行後にメモリ制限が低下する理由を説明できますか?GCについての私の理解はかなり浅いです。さらに数回実行した後、GC.Collect()を実行したこともわかりますが、実行しませんでした。
更新:各arraylistアイテムにconst文字列と新しいオブジェクトを使用した場合にも大きな違いが見つかりました。コードは単純です:
ループの開始:メモリ10,350,592
- OOM例外がスローされました
- アレイサイズ:134,217,728
エンドループ:メモリ550,408,192
ループの開始:メモリ550,731,776
- OOM例外がスローされました
- アレイサイズ:134,217,728
エンドループ:メモリ551,682,048
ループの開始:メモリ551,813,120
- OOM例外がスローされました
- アレイサイズ:134,217,728
エンドループ:メモリ551,772,160
ループの開始:メモリ551,903,232
- OOM例外がスローされました
- アレイサイズ:67,108,864
エンドループ:メモリ282,869,760
ループの開始:メモリ283,004,928
- OOM例外がスローされました
- アレイサイズ:67,108,864
エンドループ:メモリ282,910,720
GC.Collectを手動でトリガー
ループの開始:メモリ14,245,888
- OOM例外がスローされました
- アレイサイズ:67,108,864
エンドループ:メモリ283,344,896
ado.net - .NET System.OutOfMemoryException と AppDomains
ADO.NET OLE DB プロバイダーを介して FoxPro データベースに接続するプラグインを起動するプラグイン マネージャーがあります。
あるクライアント サイトでは問題なく接続が開閉されますが、別のクライアント サイトでは「connection.Open();」でスタックします。数秒以内に 1GB を超えるメモリが割り当てられます。
その後 1 分以内に別の 1GB が割り当てられ、System.OutOfMemoryException がスローされます。
プラグイン マネージャーは AppDomain をアンロードして続行します。
これをどこからデバッグし始めますか?
crash - Ocamlの「メモリ不足」例外。詳細モードは「構造比較におけるスタックオーバーフロー」と言います
エイリアンソースからの非常に巨大なocamlプログラムを修正する必要があります。問題の1つは、プログラムが一見無害な行でクラッシュすることです。
「メモリ不足」の例外があります。重要なのは、そこには確かに十分なメモリがあり、この行は他の入力に対しては問題なく実行され、問題のある入力の処理中はさらに早い段階で実行されます。
で実行するとOCAMLRUNPARAM="v=63"
、クラッシュの直前に印刷される行が表示されます。
構造比較におけるスタックオーバーフロー
関連する構造を以下に定義します。 loc
タイプlocation
です。
コードを実行するにはどうすればよいですか?
java - エラー java.lang.OutOfMemoryError: GC オーバーヘッド制限を超えました
JUnit
テストを実行すると、次のエラー メッセージが表示されます。
が何であるかは知っていますOutOfMemoryError
が、GC オーバーヘッド制限とはどういう意味ですか? どうすればこれを解決できますか?
c# - string.split()タブ区切りファイルを読み取るときに「メモリ不足の例外」
タブ区切りファイルを読み取るために、C#コードでstring.split()を使用しています。以下のコードサンプルで説明されているように、「OutOfMemory例外」に直面しています。
ここで、サイズが16MBのファイルで問題が発生する理由を知りたいのですが。
これは正しいアプローチかどうか?
.net - 単純なOleDB接続を開くと、OutOfMemory例外がスローされますか?
アプリケーションの1つで問題が発生しています。.NET3.532ビットプロセスです。起動時に.mdbを開いて、いくつかの「メタデータ」値を読み取ります。これは何百ものシステムで機能しますが、TabletPCと問題を抱えているお客様がいます。オペレーティングシステムは、Windows XP Tablet PC SP3、32ビット、blablaです。異常なことは何もありません。.NET 3.5(Windows Updateから)がすべて最新です。異常なことは何もありません。
私たちのアプリケーションは起動時に「いくつかのこと」を行うので、これまでで最も単純なコンソールアプリケーションを作成しました。
結果:
同じパスにファイル「metadata.mdb」を指定せずにその単一の.exeを実行すると、「ファイルが見つかりませんblablabla」という明らかな結果が得られます。それは正しいです。
メタデータをコピーすると(メタデータについては後で詳しく説明します)、次のようになります。
注:例外はスペイン語で翻訳しましたが、内容は同じです。唯一の違いは「タイプの例外」でしたが、名前空間は変更されていません。
メタデータには何が含まれていますか?:これは、1つのテーブルと2つのレコードを持つ単純なMS ACCESS 2000ファイルです(暗号化された形式でさまざまなMS-SQL接続文字列を格納します)。したがって、起動時に接続を読み取り、復号化して、ユーザーにリストを表示できます。別の接続を選択してください。例外が(明らかに)connection.Open()でスローされるため、私が作成したテストプログラムには、その機能は存在しません(または実行されません)。
特にこのコンピュータの詳細 ボックスは正常のようです。さまざまなソース(Windows Update)およびdotnetfx.exe(大きな250mbファイル)から.NETを再インストールし、その大きな.netインストーラーから「修復」を実行しました。この小さなコンソールアプリケーションは.NET3.5を対象としているため、.NETは機能しているようです。
なぜこのテスト? コンソールアプリケーションがそれを実行する理由は、私たち自身のアプリケーションが(他のいくつかのことの中でも)Main()の実行を開始するとすぐに、それが最初に実行することの1つであるためです。そこで、そのコードを分離し、例外がそこにスローされていることがわかりました。コードに関係がないことを確認するために、テストアプリケーションを作成し、奇妙な例外を見つけました。
Googleはどうですか? 私は必死にグーグル/SO/などを検索してきました。無駄に。OutOfMemoryは、oledbやその他の「可能性のある」キーワードと組み合わせた場合でも、非常に誤解を招く検索用語です(「何かが足りない可能性があります)。名前空間の他の部分を使用して検索しようとすると、この特定の問題に関連していないように見える奇妙な結果が示されます。
質問は何ですか? ああ、それは簡単です:何かアイデアはありますか?
キャッチ 私はWindows全体を再インストールすることを避けようとしています(この単純なものが他の何百ものコンピューターで動作することを考えると、問題を修正することもできます)。ボックスはマルウェアなどに感染していないようで、ヘルスケアで使用されているタブレットPCであるため、「オープン」であるにもかかわらずインターネットアクセスが使用されることはほとんどありません。これは、ボックスが100%クリーンであることを意味するわけではありません(Windowsでは確信が持てません)。この問題を知っている、または経験した(そして修正を見つけた)場合は、私に教えてください。
前もって感謝します!
java - Eclipse の .ini 設定が最大ヒープ サイズの変更に役立っていないようです
これが私のeclipse.iniファイルです:
デフォルトのもの。ただし、64 MB のヒープ サイズでクラッシュしているように見えるアプリがあります。クラッシュするまで数秒ごとにヒープサイズ(バイト単位)を出力しています。最後の出力は次のとおりです。
66650112 スレッド「メイン」での例外 java.lang.OutOfMemoryError: java.lang などの Java ヒープ領域
私はSunのJavaを使用しています。Javaで利用可能な最大RAMを設定する必要がある別の場所はありますか?