問題タブ [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.
.net - 割り当てられたメモリのビュー
.NET プログラムのメモリ統計だけでなく、オブジェクト階層も表示できるツール (無料、オープン ソース、どうでもいい) を探しています。各オブジェクトをドリルダウンして、その足跡と、それが参照するすべてのオブジェクトを表示できるようにしたいと本当に思っています。
RedGate の Ants Profiler のようなものを見てきましたが、それは私が望むものではありません。特定のインスタンスを表示できません。
編集: 私は .NET メモリ プロファイラー (Visual Studio に同梱されているもの、および SDK (?) の一部として使用されていたもの) を以前に使用しましたが、それは本当に優れています (そして、他のほとんどのビューを表示します)。 t)、私が本当に求めているのは、オブジェクト階層をドリルダウンして、各オブジェクト インスタンスを表示できるようにすることです。
c# - 割り当て/割り当て解除を追跡することは可能ですか?
私の知る限り、これは不可能なので、左翼の文書化されていない割り当てフック関数を本当に望んでいます。_CrtSetAllocHook
の
ように割り当てを追跡する方法が必要ですが、。ガベージコレクター/割り当てに対する唯一の可視性は、 GC.CollectionCount
であるように見えます。
他に.NETメモリモジョを持っている人はいますか?C#/.NET
memory - mallocをログに記録する方法
これは少し架空で大幅に簡略化されていますが...
サードパーティによって作成された関数を呼び出すプログラムを想定します。これらの当事者は敵対的ではないと見なすことができますが、「有能」であると見なすことはできません。各関数はいくつかの引数を取り、副作用があり、値を返します。実行されていない間は状態がありません。
目的は、すべてのmalloc(など)をログに記録し、関数の終了後にすべてを解放することで、メモリリークを引き起こさないようにすることです。
これは可能ですか?これは実用的ですか?
ps私にとって重要なのは、割り当てが持続しないようにすることです。そのため、それを行わずにメモリリークを削除する方法は、私には役立ちません。
memory - Ubuntu 32 ビットの最大アドレス空間
Jeffは、32 ビット Vista に関して、彼のブログでしばらく前にこれを取り上げました。
32 ビット Vista に適用される 32 ビット 4 GB のメモリ上限は、32 ビット Ubuntu にも適用されますか? この問題を独創的に解決した 32 ビット オペレーティング システムはありますか?
.net - クラスが使用するメモリの量を決定しますか?
特定のクラスが .NET で使用しているメモリの量を実行時に判断する方法を見つけようとしています。Marshal.SizeOf()
値型でのみ機能するため、使用はできません。クラスが使用するメモリ量を正確に確認する方法はありますか?
c++ - char * = "string" または char * = new char[6] を破棄する必要はありますか?
char* = "string"
と同じだと思いchar* = new char[6]
ます。これらの文字列は、スタックではなくヒープ上に作成されると思います。それで、それらを使い終わったら、それらを破棄するか、メモリを解放する必要がありますか、それとも自然に破棄されますか?
java - Javaで、オブジェクトのサイズを決定する最良の方法は何ですか?
データ行が山積みになった CSV ファイルを読み取るアプリケーションがあります。データの種類に基づいて行数の概要をユーザーに示しますが、データの行を読み込んでエラーが発生しないようにしたいと考えていますOutOfMemoryError
。各行はオブジェクトに変換されます。そのオブジェクトのサイズをプログラムで簡単に調べる方法はありますか? のプリミティブ型とオブジェクト参照の大きさを定義する参照はありますVM
か?
現在、 read up to 32,000 rowsというコードがありますが、 32MBのメモリを使用するまで、できるだけ多くの行を読み取るというコードも必要です。質問とは違うかもしれませんが、教えていただきたいです。
c - Cのメモリリーク検出器?
人々が良い経験をしたメモリリーク検出器は何ですか?
これまでの回答をまとめると次のようになります。
Valgrind - 動的分析ツールを構築するための計測フレームワーク.
Electric Fence - GDB で動作するツール
Splint - アノテーション支援の軽量静的チェック
Glow Code - これは、C++、C#、または任意の .NET Framework でアプリケーションを開発する Windows および .NET プログラマー向けの完全なリアルタイム パフォーマンスおよびメモリ プロファイラーです。
このスタックオーバーフローの投稿も参照してください。
c++ - グローバル メモリは C++ で初期化されますか?
グローバル メモリは C++ で初期化されますか? もしそうなら、どのように?
(2番目) 明確化:
プログラムが起動するとき、プリミティブが初期化される前に、グローバル メモリになるメモリ空間には何がありますか? たとえば、ゼロになっているのか、ゴミなのかを理解しようとしています。
状況は次のとおりです:シングルトン参照を設定できますか-instance()
初期化の前に呼び出しを介して:
結果として2つのシングルトンインスタンスを取得しますか?
シングルトンの複数のインスタンスに関する私の C++ クイズを参照してください...
c# - C# のオブジェクトが使用しているメモリの量を調べますか?
オブジェクトのインスタンスが使用しているメモリ量を調べる方法を知っている人はいますか?
たとえば、次のオブジェクトのインスタンスがあるとします。
インスタンスが使用しているメモリ量を確認する方法はありますtc
か?
質問する理由は、C# にはメモリ管理が組み込まれていますが、オブジェクトのインスタンス (何かを追跡するリストなど) をクリアしないという問題によく遭遇するためです。
適度に優れたメモリ プロファイラ (ANTS プロファイラなど) がいくつかありますが、マルチスレッド環境では、これらのツールを使用しても、何がどこに属しているかを把握するのは非常に困難です。