この記事は機械翻訳のミラー記事です。元の記事にジャンプするにはこちらをクリックしてください。
建築家
建築家
リスト
放送
茶屋
インテリジェントAI会話
.NETキャリア&テクニカルカレッジ
ちっちゃいなクズブログ
この版
利用者
Architect_Programmer_Code農業ネットワーク
»
建築家
›
プログラミング
›
ジャワ
›
2097152KBのオブジェクトに十分な容量を確保できなかった...
眺める:
24728
|
答える:
1
[出典]
2097152KBのオブジェクトヒープに十分な容量を確保できませんでした
[リンクをコピー]
クズども
掲載地 2017/07/24 10:43:36
|
|
|
|
エラー:2097152KBのオブジェクトヒープを割り当てるのに十分な容量を確保できませんでした
activemqを起動してエラーが報告されました。割り当てが多すぎるためで、MQTTメモリを割り当てる際にはサーバーメモリサイズ(free -gを使え)とJDKがメモリサイズをサポートしているかどうかを組み合わせて判断する必要があります。
JVMパラメータ設定
主なパラメータ:
-xms:初期メモリサイズ
-Xmx:最大メモリサイズ
-Xmn:若い世代の規模
Java -Xmx2047M -versionコマンドを使って、適合しているか確認してください:
解決:
スタート - >コントロールパネル - >システム - > 詳細設定 - > 環境変数 - > システム変数
新しい変数:
変数名:_JAVA_OPTIONS
変数値:-Xmx1G
先の:
MySQLは空のレコード数がないテーブルにクエリを行います
次に:
Javaの仮想マシンJVMのサーバーとクライアントの違い
関連記事
•
Javaワークフロー:Activiti、Flowable、Camunda と
•
toPlainString, toEngineeringString, toString for BigDecimal in Java
•
Windows Mavenの設定チュートリアルをダウンロードしてインストールしてください
•
.NET/C# RSA PEM フォーマットの暗号化および復号化
•
JavaについてのtoString()メソッドのオーバーライドについて
•
Java Mavenプロジェクトがローカルjarパッケージを参照する方法は3つあります
•
SpringのJdbcTemplateコンソールはSQL文とパラメータを出力します
•
Spring Cloud Gateway ルート yml and json configuration
•
JavaはHTTPネットワーク要求を送信するためにOkHttpを使用します
•
Mavenコマンドはサードパーティ製jarパッケージをNexusのプライベートリポジトリにプッシュします
クズども
地主
|
掲載地 2017/07/24 10:45:37
|
最近、Java用のプログラムに取り組んでいます。 もともとJavaのメモリ管理が好きでした。メモリの割り当てを気にする必要はなく、割り当てるだけで、ガベージコレクタがメモリを回収してくれます。 今、このプログラムは大量のデータで開発されており、速度を上げるためにすべての情報をメモリに読み込む予定です。これにより迅速な応答が保証されます。 まだメモリを何度も数えていて、自分のデータ量を考えています。最初はそれで十分だと思います(私のマシンは4Gメモリですが、Windowsは3.5Gを認識していますが、現在のデータ量と比べれば問題ないはずです)。
予想外にも、最初の実験のプログラムは数時間実行され、記憶外例外に遭遇しました。 自分のVM設定を見ると、-Xms512M -Xmx1024Mに設定しています。 無意識のうちに直接-Xms512M -Xmx2048Mに変更したところ、オブジェクトヒープ用の十分な容量を確保できなくなりました。 プログラムは立ち上がれない。 その時になって初めて、元の最大メモリにはまだ限界があることに気づきました。 インターネットで調べてみると、この問題について多くの記事が見つかりました。 最後に、BEAのDEV2DEVフォーラムで最も役立つ記事を見つけました
ここで司会のユリミンがテストを行い、結論に至りました:
会社JVMバージョン 最大メモリ(メガ) クライアント 最大メモリ(メガ) サーバー
日 1.5.x 1492 1520
SUN 1.5.5(Linux) 2634 2660
太陽 1.4.2 1564年
SUN 1.4.2(Linux) 1900 1260
IBM 1.4.2(Linux) 2047 該当なし
BEA JRockit 1.5(U3) 1909年 1902年
今はJDK1.6.0_05を使っていて、試しました。 クライアント状態で一番大きな問題は、JDKが-serverパラメータを認識せず、サーバー状態をテストできないことです。 見積もりはほぼ同じです。
サン 1.6.0 1442 該当なし
Javaで大容量メモリを使うのは不可能のように思えます。 一般的な言い方としては、メモリが大きすぎるとガベージコレクション時間が長くなるということです。 これも理解できます。一般的にメモリが不足したときに収集されます。2Gメモリのスキャンはもちろん1Gよりはるかに遅く、メモリオブジェクトも多いため、推定される関係性は指数関数的に増加しています。
以下にユリミンの試験方法と試験記録を添付します。
テスト方法:java -XmxXXXXM -versionコマンドを使ってコマンドラインでテストし、XXXXの値を徐々に増やしていきます。正常に動作すれば、指定されたメモリサイズが利用可能であることを示します
、そうしないとエラーメッセージが表示されます。
閲覧したセクション
.Net/C#
ウェブサイト構築
技術チャット
PHP
Windows/Linux
その他の番組編成
発表情報
HTML/CSS/JavaScript
C/C++
免責事項:
Code Farmer Networkが発行するすべてのソフトウェア、プログラミング資料、記事は学習および研究目的のみを目的としています。 上記の内容は商業的または違法な目的で使用されてはならず、そうでなければ利用者はすべての結果を負うことになります。 このサイトの情報はインターネットからのものであり、著作権紛争はこのサイトとは関係ありません。 ダウンロード後24時間以内に上記の内容を完全にパソコンから削除してください。 もしこのプログラムを気に入ったら、正規のソフトウェアを支持し、登録を購入し、より良い本物のサービスを受けてください。 もし侵害があれば、メールでご連絡ください。
Mail To:help@itsvse.com