問題タブ [memory-leaks]
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.
linux - Linux がメモリ不足になったときに、プロセスに関する詳細情報を取得するにはどうすればよいですか?
最近、oom-killer がしばらくしてプロセスを強制終了し始めるという問題がありました。メモリが消費されていることはわかりましたが、サーバーに到達するまでに、何がメモリを消費したのかわかりませんでした。oom-killer に関するより多くの情報を入手するための、自明ではない適切な場所はありますか? たとえば、アクティブ化時のプロセスに関する詳細情報、強制終了されたプロセスに関する詳細情報、および選択の理由は?
この情報を見つけるための特定の場所、それを収集するための特定のツール、または oom-killer レポートを改善するための構成を探しています。oom-killer に関する一般的な情報を探しているわけではありません。/var/messages にはデフォルトで、空きメモリまたは割り当てられたメモリに関する詳細なレポートのみが含まれますが、割り当てられた特定のプロセスは含まれません。
database - LINQ-To-SQL でメモリ リークを回避するにはどうすればよいですか?
メモリ使用量に関して、LINQ-To-SQL でいくつかの問題が発生しています。Windows サービスで使用して何らかの処理を行っており、コンテキストから引き戻す大量のデータをループしています。はい - ストアド プロシージャを使用してこれを実行できることはわかっていますが、それが理想的なソリューションとは言えない理由があります。
とにかく、私が基本的に見ているのは、呼び出した後でもメモリが解放されていないことcontext.SubmitChanges()
です。そのため、一度に 100 レコードだけをプルバックしたり、複数のコンテキストを作成してそれらすべてに個別のタスクを実行させたりするなど、あらゆる種類の奇妙なことをしなければならなくなります。同じままにしDataContext
て後で他の呼び出しに使用すると、ますます多くのメモリが消費されます。Clear()
クエリが返す" " 配列を呼び出しvar tableRows
、null に設定して呼び出しSYstem.GC.Collect()
ても、メモリは解放されません。
今、私はあなたDataContexts
がそれらを素早く使用し、素早く処分する方法についていくつか読んだことがありますが、コンテキストにすべてのデータ(または特定のテーブルのすべての追跡データ)をメモリが空いていることを保証する特定のポイント。
メモリが解放されることを保証する手順を知っている人はいますか?
c# - .NET でメモリ リークを見つけるのに役立つ戦略とツールは何ですか?
私は C++ を 10 年間書きました。メモリの問題が発生しましたが、かなりの努力で修正できました。
ここ数年、私は C# を書いています。私はまだ多くのメモリの問題を抱えていることに気づきました。それらは非決定性のために診断と修正が困難であり、C# の哲学は、非常に確実に行う場合はそのようなことを心配する必要はないということです。
私が見つけた特定の問題の 1 つは、コード内のすべてを明示的に破棄してクリーンアップする必要があることです。そうしないと、メモリプロファイラーはあまり役に立ちません。なぜなら、表示しようとしているすべてのデータ内でリークを見つけることができないほど多くのチャフが浮かんでいるからです。私の考えが間違っているのか、それとも私の持っているツールが最適ではないのだろうか。
.NET でのメモリ リークに対処するには、どのような戦略とツールが役立ちますか?
python - 実稼働システムの Python プロセスでメモリを使用しているものを見つけるにはどうすればよいですか?
運用システムで、開発環境では再現できないメモリ リークが発生することがあります。私はPython メモリ プロファイラー(具体的には Heapy) を使用して開発環境である程度の成功を収めましたが、再現できないものには役に立ちません。その作業を行うにはしばらく時間がかかり、そのスレッド化されたリモート インターフェイスはサーバーでうまく機能しません。
私が欲しいと思うのは、実稼働 Python プロセス (または少なくとも gc.get_objects) のスナップショットをダンプし、それをオフラインで分析してメモリを使用している場所を確認する方法です。 このような Python プロセスのコア ダンプを取得するにはどうすればよいですか? 取得したら、それを使って何か便利なことをするにはどうすればよいですか?
linux - どのプロセスがメモリリークを起こしているかを確認するにはどうすればよいですか?
多くのプロセスを備えたシステム(Ubuntu)があり、1つ(または複数)にメモリリークがあります。リークのあるプロセスを見つける良い方法はありますか?プロセスの一部はJVMであり、一部はそうではありません。自家製のものもあれば、オープンソースのものもあります。
iphone - メモリ リーク検出ツール
Apple の Xcode 開発環境には、メモリ リーク検出用のツールが用意されていますか?
iPhone SDK に適用されるツールに特に興味があります。現在、趣味のプログラミング プロジェクト用の私のお気に入りのプラットフォーム
上記のツールのドキュメント/チュートリアルは非常に役立ちます。
sharepoint - 「すぐに使える」SharePoint ナビゲーションがメモリ リークしているように見えるのはなぜですか
私のサイトには非常に深いナビゲーション構造があり、すぐに使用できるナビゲーション (特に SPWeb オブジェクト) でメモリ リークが発生しているように見えることがよくあります。
ログメッセージは次のようになります
スレッド 5 で現在解放されていない SPRequest オブジェクト (14) の数が多すぎる可能性があります。このオブジェクトまたはその親 (SPWeb や SPSite など) が適切に破棄されていることを確認してください。
c++ - 以下のコードはC ++でメモリリークを引き起こしますか
上記のコードでは、コンストラクターがスローします。どのオブジェクトがリークされ、メモリ リークをどのように回避できますか?
上記のコードではどうですか?コンストラクターがスローした後にメモリリークを回避するにはどうすればよいですか?
c# - 1人の顧客のボックスにのみ表示されるメモリリーク(C#)を追跡するための最良の方法
1人の顧客のテスト/リリースボックスでのみ検出され、他の場所では検出されないメモリリークを追跡するための最良の方法は何ですか?
c - GLIBC: メモリリークのデバッグ: mtrace() の出力を解釈する方法
メモリ リークの問題をデバッグしようとしています。malloc/free/realloc トレースを取得するためにmtrace()を使用しています。プログラムを実行したところ、巨大なログ ファイルが作成されました。ここまでは順調ですね。しかし、ファイルの解釈に問題があります。次の行を見てください。
これに関する奇妙な点は、1 つの呼び出し (同じ戻りアドレス) が 4 つの割り当てを担当していることです。
さらに見知らぬ人:
これらの 2 行の間で、ブロック 0x2aaab43a1700 が解放されることはありません。
誰もこれを説明する方法を知っていますか? 1 回の呼び出しで 4 つの割り当てが発生するのはなぜですか? また、以前に割り当てられたアドレスを malloc で返すにはどうすればよいでしょうか。
edit 2008/09/30: GLIBC が提供する mtrace() 出力を分析するスクリプト (mtrace.pl) は、ここでは役に立ちません。それはただ言うでしょう:0x2aaab43a1700重複を割り当てます。しかし、どうしてこれが起こるのでしょうか?