問題タブ [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++ - 関数内の文字列リテラル: 自動変数またはヒープに割り当てられていますか?
関数内で使用する文字列リテラルは自動変数ですか? それとも、手動で解放する必要があるヒープに割り当てられていますか?
以下に示すコードのような状況があり、文字列リテラルをクラスのプライベート フィールド (コードで ONE としてマーク) に割り当て、それを後でプログラムで取得して使用します (TWO としてマーク)。スタック内の変数を ONE 内のフィールドに割り当てていますか? この場合、プログラムが十分に小さかったために機能したダングリング ポインターをコードが参照している可能性はありますか?
コンパイルして実行しましたが、問題なく動作しましたが、実際のプログラムでこのようなクラスのフィールドに文字列リテラルを割り当てているときに奇妙なクラッシュが発生し、上記のケースが疑われます。
変数「s」をポインターではなくchar配列として宣言する必要がありますか? std::string を使おうと思っているのですが、ちょっと気になるところです。
いつものように、ポインタやヘルプは大歓迎です:)ありがとう。
.net - .NETメモリ管理は、ネイティブコードよりもマネージコードの方が高速ですか?
マネージコードの方がネイティブコードよりもメモリ割り当てが速いかどうかは明らかだと思いましたが、いくつかの論争があるようです。おそらく、OSへのコンテキスト交換呼び出しがないため、仮想マシンでのメモリ管理は高速ですが、VM自体がOSを定期的に呼び出してメモリを増やす必要があり、メモリ自体の管理オーバーヘッドがあります。 OSではなく。
私のように根拠のない主張をするのではなく、あなたの立場を裏付ける参考文献へのリンクを提供してください。
.net - 最小化すると、.NET アプリケーションのメモリ使用量が減少するように見えるのはなぜですか?
たとえば、Paint.NET を起動します。次に、タスク マネージャーでメモリ使用量を確認します。私のコンピューターでは、36Mb を使用しています。
次に、Paint.NET を最小化します。これで、1Mb を少し超えるだけで済みます。
これは、すべての .NET アプリケーションで発生します。.NET アプリケーションを最小化するとどうなりますか? GC は発生していますか?
.net - ときどき ABCpdf がメモリ不足になる
私が取り組んでいるプロジェクトでは、サードパーティ コンポーネントを使用して、ABCpdf.Net という VB.Net Web システムで動的 PDF を構築しています。(ひどいツールではありませんが、優れたツールでもありません。)
ときどき、理由はわかりませんが、ドキュメント オブジェクトは SEHException をスローします。さらに調べてみると、これは WebSupergoo.ABCpdf6.Internal.PDFException 型のドキュメント オブジェクトのカスタム例外が原因であることが判明しました。内容には、あまり役に立たないタイトル「画像データを取得できません。メモリ不足です」のみが含まれています。通常、これは PDF に画像を追加しようとしたときに発生します。これらの画像は 100k 未満の PNG であるため、サイズは問題ではないと思います。
また、本当に奇妙なことは、この問題が発生し始めると、それを止める唯一の方法は Web サーバーを再起動することであるということです。これは明らかに標準以下です。
誰かがこの問題を経験したことがありますか (またはこのツールを使用したことがありますか?)
java - Java での循環参照
複雑で循環的な方法で相互に参照するクラス インスタンスの集合体を考えると、ガベージ コレクターがこれらのオブジェクトを解放できない可能性はありますか?
これは過去に JVM の問題だったことを漠然と思い出しますが、これは何年も前に解決されたと思っていました。それでも、jhat を調査したところ、現在直面しているメモリ リークの原因が循環参照であることが明らかになりました。
注: 私は常に、JVM が循環参照を解決し、そのような「ゴミの島」をメモリから解放できるという印象を受けてきました。ただし、誰かが例外を見つけたかどうかを確認するために、この質問を投げかけています。
winapi - 最適なスレッドスタックサイズを決定する方法は?
実際には、初期コミットと合計予約の 2 つのサイズがあります。
静的解析と動的解析のどちらを使用していますか? どのツール?どのテクニック?
c++ - c または c++ で非常に大きな単一のメモリ チャンク (> 4GB) を割り当てることができますか?
私が疑問に思っていた最近の非常に大量の RAM では、4GB を超えるメモリの単一のチャンクを割り当てることは可能ですか? それとも、小さなチャンクをたくさん割り当てて、それらの間の切り替えを処理する必要がありますか?
どうして???私はいくつかの openstreetmap xml データの処理に取り組んでおり、これらのファイルは巨大です。それらをすべて 1 つのチャンクにロードすることはできないため、現在それらをストリーミングしていますが、malloc または new の上限に興味がありました。
ruby - Ruby メモリ管理
私はしばらくの間 Ruby を使用してきましたが、大きなプロジェクトの場合、かなりの量のメモリを占有する可能性があることがわかりました。Ruby でメモリ使用量を削減するためのベスト プラクティスは何ですか?
- 各回答に 1 つの「ベスト プラクティス」を持たせ、コミュニティに投票してもらいます。
java - JNI経由でJavaで呼び出されたC DLLのメモリ使用量を監視していますか?
JNI 経由で Java から呼び出されているネイティブ C DLL によって使用されているメモリを監視するにはどうすればよいですか? 標準の Java 監視ツールとオプションを使用すると、Java メモリ スペースは表示されますが、C DLL が使用するメモリは表示されません。Java は ~70MB を使用していますが、タスク マネージャーのタスクは 200MB 以上を示しています。
c# - 管理された環境で使用される最大のヒープ? (.net/ジャバ)
Java や .NET などの管理された環境で個人的に使用した最大のヒープは? 遭遇したパフォーマンスの問題にはどのようなものがありますか? また、ヒープが大きいほど収益が減少しましたか?