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



19
「java.lang.OutOfMemoryError:Java heap space」エラーに対処するには?
Java 5でクライアント側のSwingアプリケーション(グラフィカルフォントデザイナー)を書いています。最近、メモリ使用量を保守的にしていないため、エラーが発生しています。ユーザーは無制限の数のファイルを開くことができ、プログラムは開いたオブジェクトをメモリに保持します。簡単な調査の結果、5.0 Java仮想マシンなどでエルゴノミクスが見つかりました。Windowsマシンでは、JVMのデフォルトの最大ヒープサイズはと言われています。java.lang.OutOfMemoryError: Java heap space64MB この状況で、この制約にどのように対処する必要がありますか? Javaのコマンドラインオプションを使用して最大ヒープサイズを増やすこともできますが、そのためには使用可能なRAMを把握し、起動プログラムまたはスクリプトを作成する必要があります。さらに、有限の最大値まで増やしても、最終的には問題が解決されません。 いくつかのコードを書き直して、オブジェクトをファイルシステムに頻繁に永続化し(データベースを使用することも同じです)、メモリを解放することができます。うまくいくかもしれませんが、たぶんたくさんの仕事です。 上記のアイデアの詳細、または自動仮想メモリのようないくつかの代替手段を示し、ヒープサイズを動的に拡張することができれば、それはすばらしいことです。

5
Javaヒープの用語:若い世代、古い世代、永続的な世代?
私は、Javaヒープの用語で、若い世代、古い世代、永続的な世代の概念が何であるか、具体的には3つの世代間の相互作用を理解しようとしています。 私の質問は: 若い世代とは何ですか? 古い世代は何ですか? 永続的な世代とは何ですか? 3つの世代はどのように相互に作用/関連していますか?

12
Javaでヒープサイズを増やす
8 GBのRAMを搭載したWindows 2003サーバー(64ビット)で作業しています。ヒープメモリの最大値を増やすにはどうすればよいですか?-Xmx1500mフラグを使用して、ヒープサイズを1500 Mbに増やしています。ヒープメモリを物理メモリの75%(6 GBヒープ)に増やすことはできますか?
276 java  heap-memory 

22
Node.jsヒープのメモリ不足
今日、私はファイルシステムのインデックス作成用のスクリプトを実行してRAIDファイルのインデックスを更新し、4時間後に次のエラーでクラッシュしました。 [md5:] 241613/241627 97.5% [md5:] 241614/241627 97.5% [md5:] 241625/241627 98.1% Creating missing list... (79570 files missing) Creating new files list... (241627 new files) <--- Last few GCs ---> 11629672 ms: Mark-sweep 1174.6 (1426.5) -> 1172.4 (1418.3) MB, 659.9 / 0 ms [allocation failure] [GC in old space requested]. 11630371 ms: …


5
Goでの構造体のスタックとヒープの割り当て、およびガベージコレクションとの関係
私はGoを始めたばかりで、自動変数がスタックに存在し、割り当てられたメモリがヒープに存在するCスタイルのスタックベースのプログラミングと、Pythonスタイルのスタックベースのプログラミングが、スタック上に存在するものだけが、ヒープ上のオブジェクトへの参照/ポインターです。 私の知る限り、次の2つの関数は同じ出力を提供します。 func myFunction() (*MyStructType, error) { var chunk *MyStructType = new(HeaderChunk) ... return chunk, nil } func myFunction() (*MyStructType, error) { var chunk MyStructType ... return &chunk, nil } つまり、新しい構造体を割り当ててそれを返します。 それをCで書いた場合、最初のオブジェクトはヒープにオブジェクトを配置し、2番目のオブジェクトはスタックにオブジェクトを配置します。1つ目はヒープへのポインターを返し、2つ目はスタックへのポインターを返します。これは、関数が戻ったときまでに蒸発していたものであり、これは悪いことです。 Python(またはC#を除く他の多くの現代言語)で記述した場合、例2は不可能でした。 Goガベージは両方の値を収集するので、上記の両方の形式で問題ありません。 引用するには: Cとは異なり、ローカル変数のアドレスを返すことはまったく問題ありません。変数に関連付けられたストレージは、関数が戻った後も存続します。実際、複合リテラルのアドレスを取得すると、評価されるたびに新しいインスタンスが割り当てられるため、これらの最後の2行を組み合わせることができます。 http://golang.org/doc/effective_go.html#functions しかし、それはいくつかの質問を提起します。 1-例1では、構造体はヒープで宣言されています。例2はどうですか?それはCの場合と同じようにスタックで宣言されていますか、それともヒープに移動しますか? 2-例2がスタックで宣言されている場合、関数が戻った後、例2はどのように利用可能のままですか? 3-例2が実際にヒープで宣言されている場合、構造体は参照ではなく値で渡されるのはなぜですか。この場合のポインタのポイントは何ですか?

23
解放後に変数をNULLに設定
私の会社では、メモリを解放した後、変数をにリセットするというコーディングルールがありますNULL。例えば ​​... void some_func () { int *nPtr; nPtr = malloc (100); free (nPtr); nPtr = NULL; return; } 上記のコードのような場合、に設定しNULLても意味がないと思います。それとも何か不足していますか? そのような場合に意味がない場合は、このコーディングルールを削除するために「品質チーム」に取り上げます。アドバイスをお願いします。


11
java.lang.OutOfMemoryError:Javaヒープスペース
マルチスレッドプログラムの実行時に次のエラーが発生する java.lang.OutOfMemoryError: Java heap space 上記のエラーは、いずれかのスレッドで発生しました。 私の知る限りでは、ヒープ領域はインスタンス変数のみによって占有されています。これが正しい場合、オブジェクトの作成時にインスタンス変数用のスペースが割り当てられるため、しばらくの間正常に実行した後にこのエラーが発生した理由。 ヒープ領域を増やす方法はありますか? ヒープ領域を少なくするために、プログラムにどのような変更を加える必要がありますか?

8
Java 7(JDK 7)のガベージコレクションとG1に関するドキュメント
Java 7はしばらくの間リリースされていますが、ガベージコレクター、特に新しいG1コレクターの構成に関する適切なリソースが見つかりません。 私の質問: G1はJava7のデフォルトのコレクターですか?そうでない場合、G1をアクティブ化するにはどうすればよいですか? g1にはJava7でどのようなオプション設定がありますか? cmsやJava7の並列コレクターなどの他のコレクターに変更が加えられましたか? Java 7のガベージコレクションに関する優れたドキュメントはどこにありますか?
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.