タグ付けされた質問 「memory-leaks」

メモリリークは、プログラムが割り当てたメモリを解放できなかったが、使用しておらず、回復できない場合に発生します。

4
JBossのヒープダンプにHeapDumpOnOutOfMemoryErrorパラメータを使用する
-XX:+HeapDumpOnOutOfMemoryErrorアプリケーションでメモリ不足エラーが発生したときに、ヒープダンプを取得するために、JVM起動オプションにパラメーターを私のJBoss起動スクリプトに追加できると言われました。このデータがどこにダンプされるのかと思っていましたか?それはコンソールだけですか、それともログファイルですか?コンソールのみの場合、コンソールからUnixサーバーにログインしていない場合はどうなりますか?
182 java  jboss  memory-leaks  heap 

19
C ++コード/プロジェクトでメモリリークを見つける方法
私はWindowsプラットフォームのC ++プログラマーです。Visual Studio 2008を使用しています。 通常、コードにメモリリークが発生します。 通常、コードを検査することでメモリリークを見つけますが、面倒で、常に良い方法とは限りません。 私は有料のメモリリーク検出ツールを買う余裕がないので、メモリリークを回避するための最善の方法を提案してほしいと思いました。 プログラマがメモリリークを見つける方法を知りたい。 プログラムでメモリリークが発生しないようにするための標準や手順はありますか?
180 c++  memory-leaks 

9
Pythonのメモリリーク[終了]
休業。この質問には、より焦点を当てる必要があります。現在、回答を受け付けていません。 この質問を改善してみませんか?質問を更新して、この投稿を編集するだけで1つの問題に焦点を当てます。 昨年休業。 この質問を改善する 実行時間の長いスクリプトを使用しています。十分に長く実行すると、システムのメモリがすべて消費されます。 スクリプトの詳細には触れませんが、2つの質問があります。 リークの発生を防ぐのに役立つ「ベストプラクティス」はありますか? Pythonでメモリリークをデバッグするにはどのようなテクニックがありますか?

15
「メモリリーク」の構造
.NETの観点では: メモリリークとはですか? アプリケーションがリークしているかどうかをどのように判断できますか?どのような影響がありますか? どのようにしてメモリリークを防ぐことができますか? アプリケーションにメモリリークがある場合、プロセスが終了するか強制終了されるとアプリケーションは消えますか?または、アプリケーションのメモリリークは、プロセスの完了後でもシステムの他のプロセスに影響を与えますか? また、COM InteropやP / Invokeを介してアクセスされるアンマネージコードについてはどうでしょうか。

8
ChromeでJavaScriptのメモリリークを見つける
バックボーンビューを作成し、イベントにハンドラーをアタッチし、ユーザー定義クラスをインスタンス化する非常に単純なテストケースを作成しました。このサンプルの[削除]ボタンをクリックすると、すべてがクリーンアップされ、メモリリークは発生しないはずです。 コードのjsfiddleは次のとおりです:http ://jsfiddle.net/4QhR2/ // scope everything to a function function main() { function MyWrapper() { this.element = null; } MyWrapper.prototype.set = function(elem) { this.element = elem; } MyWrapper.prototype.get = function() { return this.element; } var MyView = Backbone.View.extend({ tagName : "div", id : "view", events : { "click #button" : …

13
java.lang.OutOfMemoryError:ビットマップのサイズがVMの予算を超える-Android
Androidで画像をたくさん使うアプリを開発しました。 一度アプリを実行すると、画面上の情報(充填Layouts、Listviews、Textviews、ImageViews、など)を、ユーザが情報を読み取ります。 アニメーションや特殊効果など、記憶をいっぱいにするものはありません。ドローアブルは変更される場合があります。一部はAndroidリソースであり、一部はSDCARDのフォルダーに保存されたファイルです。 次に、ユーザーが終了し(onDestroyメソッドが実行され、アプリがVMによってメモリにとどまります)、その後、ある時点でユーザーが再び入力します。 ユーザーがアプリにアクセスするたびに、ユーザーがを取得するまで、メモリがどんどん増えているのがわかりますjava.lang.OutOfMemoryError。 それで、多くの画像を処理するための最良の/正しい方法は何ですか? 常にロードされないように、静的メソッドに配置する必要がありますか?レイアウトまたはレイアウトで使用されている画像を特別な方法でクリーニングする必要がありますか?

4
イベントハンドラーのメモリリークを回避する理由と方法
StackOverflowでいくつかの質問と回答を読むこと+=で、C#(または他の.net言語)を使用してイベントハンドラーを追加すると、一般的なメモリリークが発生する可能性があることに気づきました... 私は過去にこのようなイベントハンドラーを何度も使用しましたが、それらがアプリケーションでメモリリークを引き起こしたり、引き起こしたりしていることに気付いていませんでした。 これはどのように機能しますか(つまり、実際にメモリリークが発生するのはなぜですか)? この問題を解決するにはどうすればよいですか?-=同じイベントハンドラを使用して十分ですか? このような状況に対処するための一般的な設計パターンまたはベストプラクティスはありますか? 例:UIでいくつかのイベントを発生させるために多くの異なるイベントハンドラーを使用して、多くの異なるスレッドを持つアプリケーションをどのように処理するべきですか? すでに構築された大きなアプリケーションでこれを効率的に監視するための良い簡単な方法はありますか?

7
メモリ/リソースリークを見つけるのに最適なAndroidツールと方法は何ですか?[閉まっている]
閉まっている。この質問はスタックオーバーフローのガイドラインを満たしていません。現在、回答を受け付けていません。 この質問を改善したいですか?Stack Overflowのトピックとなるように質問を更新します。 6年前休業。 この質問を改善する 私はAndroidアプリを開発しましたが、すべてがうまく機能しているようで、勝利を宣言して出荷したいのですが、メモリとリソースのリークがいくつかあるだけだということを知っている電話アプリ開発の段階にいますそこで; そして、Androidには16MBのヒープしかなく、Androidアプリでは明らかに驚くほど簡単にリークします。 私は周りを見回してきましたが、これまでのところ「hprof」と「traceview」に関する情報を掘り下げることしかできず、どちらも多くの好意的なレビューを得ることはできません。 OSプロジェクトで共有したいツールや方法はありますか?

15
.NETでメモリリークを見つけるのに役立つ戦略とツールは何ですか。
私はC ++を10年間書きました。メモリの問題が発生しましたが、かなりの労力で修正できました。 ここ数年、私はC#を書いてきました。まだ多くのメモリの問題が発生しています。非決定性のため、診断と修正は困難です。C#の哲学は、確実にそうする場合にはそのようなことを心配する必要がないということです。 私が見つけた特定の問題の1つは、コード内のすべてを明示的に破棄してクリーンアップする必要があることです。私がそうしないと、メモリプロファイラーは本当に役に立ちません。なぜなら、あなたの周りに非常に多くのチャフが浮かんでいるため、表示しようとしているすべてのデータ内にリークを見つけることができないからです。私は間違った考えを持っているのか、あるいは私が持っているツールが最高ではないのかと思います。 .NETのメモリリークに対処するには、どのような戦略とツールが役立ちますか?

8
IDisposableを正しく実装する
私のクラスでは、IDisposableを次のように実装します。 public class User : IDisposable { public int id { get; protected set; } public string name { get; protected set; } public string pass { get; protected set; } public User(int UserID) { id = UserID; } public User(string Username, string Password) { name = Username; pass = …

11
Javaメモリリークを見つける方法
JHatなどを使用して、Javaのメモリリークをどのように見つけますか?基本的な見方をするために、JHatにヒープダンプをロードしてみました。ただし、ルート参照(ref)またはそれが呼び出されるものを見つける方法を理解していません。基本的に、数百メガバイトのハッシュテーブルエントリ([java.util.HashMap $ Entryまたはそのようなもの)があることがわかりますが、マップは至る所で使用されています...大きなマップを検索する方法はありますか? 、またはおそらく大きなオブジェクトツリーの一般的なルートを見つけますか? [編集]わかりました。これまでに回答を読みましたが、私は安い野郎(JProfilerの支払いよりもJHatの使い方を学ぶことに興味がある)だとだけ言っておきましょう。また、JHatはJDKの一部であるため、いつでも利用できます。もちろん、JHat以外には方法はありませんが、力ずくではありませんが、それが事実であるとは信じられません。 また、実際に変更(すべてのマップサイズのログを追加)して、リークに気付くのに十分な時間実行することはできないと思います。

2
このオブジェクトの有効期限を延長するクロージャーはC#コンパイラのバグですか?
私がいくつかの極端に遭遇したとき、私はオブジェクトのライフタイムを(合法的に)延長する可能性についての質問に答えていましたC#コンパイラーの奇妙なコード生成(問題の場合は4.0。 私が見つけることができる最も短い再現は次のとおりです: staticを呼び出しているときにローカルをキャプチャするラムダを作成する 包含型のメソッド。 生成されたデリゲート参照を、それを含むオブジェクトのインスタンスフィールドに割り当てます。 結果:コンパイラーは、理由がない場合にラムダを作成したオブジェクトを参照するクロージャーオブジェクトを作成します。デリゲートの「内部」ターゲットは静的メソッドであり、ラムダ作成オブジェクトのインスタンスメンバーは不要です。デリゲートが実行されたときに触れられる(されない)。事実上、コンパイラーは、プログラマーがthis理由なしに取り込んだように機能します。 class Foo { private Action _field; public void InstanceMethod() { var capturedVariable = Math.Pow(42, 1); _field = () => StaticMethod(capturedVariable); } private static void StaticMethod(double arg) { } } リリースビルドから生成されたコード(「より単純な」C#に逆コンパイル)は、次のようになります。 public void InstanceMethod() { <>c__DisplayClass1 CS$<>8__locals2 = new <>c__DisplayClass1(); CS$<>8__locals2.<>4__this = this; // What's …



29
(アンマネージ)コードのメモリリークをどのように検出/回避しますか?[閉まっている]
現在のところ、この質問は、Q&A形式には適していません。事実、参考文献、専門知識によって回答が裏付けられることを期待していますが、この質問は、討論、議論、投票、または拡張ディスカッションを求める可能性があります。この質問が改善され、場合によっては再開できると思われる場合は、ヘルプセンターにアクセスしてください。 7年前休業。 アンマネージC / C ++コードで、メモリリークを検出するためのベストプラクティスは何ですか?そして避けるべきコーディングガイドラインは?(それがそのように単純であるかのように;) 私たちは過去に少しばかげた方法を使用しました:メモリ割り当ての呼び出しごとにカウンターをインクリメントし、解放中にデクリメントすることです。プログラムの最後では、カウンター値はゼロでなければなりません。 これは良い方法ではなく、いくつかの問題点があります。(たとえば、プラットフォームAPI呼び出しによって割り当てられたメモリを解放する場合、割り当て数は解放数と正確には一致しません。もちろん、割り当てられたメモリを呼び出すAPI呼び出しを呼び出すと、カウンターが増加します。) 私はあなたの経験、提案、そしておそらくこれを簡単にするツールへのいくつかの参照を期待しています。
125 c++  c  memory-leaks 

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.