問題タブ [red-gate-ants]

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.

0 投票する
4 に答える
7156 参照

c# - リスト オブジェクトのガベージ コレクション

List (Of Object) に収集されたオブジェクトをきれいにして破棄する効率的な方法は何ですか?

List.Clear() メソッドを呼び出すと、それによって収集されたすべてのオブジェクトが自動的にクリーンアップされますか?

例として、以下の例を考えてみましょう

上記のアプリケーション ANTS メモリ プロファイラを実行すると、Font と FontFamily のメモリ リーク (画面をアップロードできませんでした) と、これらのリークを削除する方法を確認できました。

0 投票する
1 に答える
1478 参照

c# - ANTS RedGateMemoryProfilerでメモリリークを解決できません

Prism 4を使用してWPFアプリケーションを開発しており、リソースが解放されていないために深刻なメモリリークが発生しています。ANTSメモリプロファイラーを使用して、ガベージコレクターによるメモリの解放を妨げているクラスを検出していますが、このツールは非常に新しいため、その出力についての理解は限られています。

テストケースは、リストからプラグインを選択できるウィンドウを開くことで構成されています。このウィンドウは、ヘッダー、一連のボタン、およびアクティブなWizardPage(つまり、UserControl)を表示するメイン領域を含むWizardコントロールをホストします。プラグインを選択して[次へ]ボタンをクリックすると、さらに多くのWizardPageコントロールがWizard Regionに登録され、RegionAdapterを使用してWizard.Pagesコレクションに追加されます。その後、ユーザーは[次へ] /[前へ]ボタンをクリックしてページ間を移動できます。ウィザードウィンドウを開いて[キャンセル]ボタンをクリックすると、ウィザードコントロールのファイナライザーが期待どおりに呼び出されます。ただし、[キャンセル]ボタンをクリックする前にウィザードウィンドウを開いてプラグインのComboBoxを展開すると、ウィザードコントロールのファイナライザーが呼び出されることはありません。これは、ANTSメモリプロファイラーのウィザード用インスタンスカテゴリのスクリーンショットです。

インスタンスカテゴリ

私たちはほとんどすべてを試しましたが成功しませんでしたが、誰かがここで何が起こっているのかを理解するのを手伝ってくれるでしょうか?

前もって感謝します。

0 投票する
1 に答える
2318 参照

wpf - WPF ユーザー コントロールとメモリ管理の破棄

WPF で wpf データ グリッド コントロールから継承されたカスタム データ グリッド コントロールを作成しました。

したがって、ユーザーがデータベースにクエリを実行すると、数百のレコードがそれぞれ 15 ~ 20 列で返されます。

画面を制御すると、この画面とそのグリッドに割り当てられているすべてのメモリが GC によって再利用されるべきだと私は信じていました。しかし、そうではありません。

Red Gate の Memory Profiler でアプリケーションをテストしていたところ、画面を開くと 30 MB のメモリが割り当てられていることが示されました。

しかし、この画面を閉じると、アプリケーションはどういうわけかまだそのメモリを保持しています.antメモリプロファイラで理由を調べていると、カスタムデータグリッドのために画面のインスタンスがまだメモリ内にあることがわかります.

ユーザー コントロールに unload イベントを追加し、プロセス中にアタッチしたすべてのイベント ハンドラーを切り離しました。

私は何を見逃して、何をすべきですか?

0 投票する
1 に答える
1094 参照

memory - nunit 大規模プロジェクトの統合テスト、メモリ不足の例外

600 以上のテストを含む大規模なプロジェクトの統合テスト (各テストが nhibernate を介してデータベースと対話する) を実行するために nunit を使用しています。問題は、10 ~ 15 分後に nunit がメモリ不足の例外をスローすることです。テスト間で nunit がメモリを解放しない理由を確認するために、redgate ant メモリ プロファイラを使用しました。テストごとに許可オブジェクトを再作成しようとしているようで、メモリが増え続け、最終的にメモリ不足の例外がスローされます。

1 つの統合テスト クラスでスナップショットを撮りましたが、しばらくするとメモリが増え続けることがわかります。メモリの解放を強制したり、この信頼の問題を解決したりするための nunit の呼び出しや設定は見つかりませんでした。

どんな助けでも本当に感謝しています。

ANTS スナップショット:

http://www.tinyuploads.com/images/IXwb8Q.jpg

http://www.tinyuploads.com/images/3R2VbB.png

0 投票する
1 に答える
52 参照

workflow - ワークフロー呼び出しメソッド内のこれらのDebugManagerおよびWinIOErrorsは何ですか?

WindowsサービスでANTSPerformanceProfilerを実行して、最適化しています。そのため、ワークフローの1つの実行が約436ミリ秒であることがわかりました。ワークフローのinvokeメソッド内で実行されている各メソッドをドリルダウンし、次の画像に示すような結果を見つけました。

ANSTパフォーマンスプロファイラーの結果(ワークフローのInvokeメソッド内

上記のDebugManagerとは何ですか?WinIOErrorがあるのはなぜですか?初心者の質問をしてすみません、私はここで迷子になっています。できれば実行時間を短縮したいだけです。

0 投票する
0 に答える
1517 参照

memory-leaks - EPPLus ライブラリを使用して生成されたファイルのメモリ使用量が多い

プロファイラーのサンショット

こんにちは、みんな、

ANTS メモリ プロファイラーを使用して、IIS で EPPLUS (3.5 MB) を使用して Excel ファイルを作成するプロセスで、IIS ワーカー プロセス (w3wp.exe) に大量のメモリ (150 MB) が追加されることに気付きました。ダウンロードが完了した後、メモリ カウントは減少しません。私はこれとほとんど同じコードを使用しています: http://epplus.codeplex.com/SourceControl/changeset/view/c5783b32e89e#SampleApp/Sample1.cs

EPPLus には必要なものがすべて揃っています。この小さな問題を除いて。「メモリ不足」のスレッドもいくつか見ましたが、どれも解決されていないようです。誰かが同じ問題に直面して修正した場合はお知らせください。

Generation 2 は多くのオブジェクトを保持しています。

問題: ExcelCell オブジェクトがジェネレーション 2 で保持されています。GC.Collect() を呼び出さずにこれをクリアするにはどうすればよいですか?

ありがとうございました。

0 投票する
2 に答える
874 参照

c#-4.0 - ANTS プロファイラーによって生成されたグラフを理解する

ANTS プロファイラを使用してアプリケーションのメモリ使用状況をプロファイリングしていますが、Excell セル オブジェクトによってジェネレーション 2 で大量のメモリが保持されていることがわかります。アプリケーションは EPPlus ライブラリを使用して Excel ファイルを生成します。

ツールによって生成されたグラフの一部を添付しています。どのオブジェクトが参照を保持していてメモリを消費しているかを突き止めるためにさらにドリルする方法がわかりません。グラフをさらに掘り下げる方法について、ご意見をお聞かせください。

要約チャート

インスタンスグラフ_1

インスタンス グラフ_2

ここに画像の説明を入力

問題は次のとおりです。このグラフは再び同じオブジェクトを指しています。このツールを適切に使用していないと思います。

ありがとうございました

0 投票する
1 に答える
880 参照

asp.net - .NET アプリケーションのアンマネージ リソースによってメモリの高い割合が消費される

簡単な MDX クエリを実行して出力を生成する Web サイトがあります。この出力は、Excel ファイルの生成に使用されます。ANTS プロファイラーを使用したところ、管理されていないリソースによって大量のメモリが消費されていることがわかりました。以下の画像を確認してください。

(フルサイズ画像)

このようなメモリ リークを検出するには、次に何をすべきですか。これらのオブジェクトがまだメモリ内で生きている理由を知りたいです。次に何をすべきか提案してください。

ここに画像の説明を入力 (フルサイズ画像)

0 投票する
3 に答える
3348 参照

c# - .net アプリケーションのアンマネージ ヒープ サイズ

私は現在、このアプリケーションの稼働時間をできるだけ 100% に近づける必要があるため、リークがあるかどうかを判断するために取り組んでいる C# プロジェクトでメモリ分析を行おうとしています。Ants Memory Profiler バージョン 7.4 を使い始めたところ、マネージド メモリはそうではなかったのに、アンマネージド メモリが時間の経過とともに継続的に増加していることに気付きました。

Console.ReadLine()さらに実験した後、命令をブロックするだけのプログラムで同様の分析を試みました。分析を実行したところ、同じことが起こっていることに気付きました。管理されていないヒープがゆっくりと成長していました。実際には、(スナップショット機能によって) ガベージ コレクターが呼び出されている間だけ大きくなるように見えました。では、ガベージ コレクションを繰り返し呼び出すと、アンマネージ メモリが際限なく増加するのはなぜでしょうか? ANTSと関係あるの?

できればwindbgやSOSなどの他のツールを使用して、管理されていないメモリの使用量を確認したいと思います。その内容を知ることは今のところ重要ではありませんが、これは長期的にはデバッグに役立つかもしれません。現在実行中のアプリケーションのアンマネージ メモリ使用量を特定しようとしているだけです。これが本当にアリの問題なのか、それとも環境がどのように機能するかについての私の誤解なのかを確認したいと思います. 私のプロセスに関する正確な情報を提供するために、ある種の.net、ビジュアルスタジオ、またはWindowsツールがあれば、これに役立ちます。

0 投票する
1 に答える
172 参照

asp.net - System.Web.Hosting 名前空間での ASP.NET パフォーマンスの問題

ASP.NET 3.5 WebForms アプリのパフォーマンスの問題をトラブルシューティングするために RedGate ANTS を使用しています。非常に小さなページをクリックすると、読み込みに最大 15 秒かかることがあります。これらはデータのないページです - ほんの一握りのコントロールです。

ANTS プロファイラーは、ホットスポット メソッド (子との時間 > 5 秒) がすべて System.Web.Hosting 内にあることを教えてくれます。次に例を示します。

  • ExecuteFunctionDelegate
  • PipelineRunTime

しかし、これらの「独自の時間」はそれぞれ 0.001 秒未満です。他にホットスポットはありません。では、この問題を引き起こしている可能性のあるこれらのメソッドの「下」には何がありますか?