問題タブ [jvm-arguments]
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.
jvm-arguments - JVMの最小ヒープサイズの推奨理由は?
BEAは、最小ヒープサイズと最大ヒープサイズの両方を同じに保つことをお勧めします。彼らは提案の理由を詳しく述べなかった。誰かが詳細を提供できますか?
また、建築家から、最小値を何も設定せず、最大値を設定するという別の推奨事項を受け取りました。これについて何かコメントはありますか?使用しない場合、デフォルトは何になりますか?
JVM設定を監視および調整するための最良のツールは何ですか。BEAweblogic10gでJDK1.6を使用しています。Linux32ビットJVM上にあります。
最大ヒープサイズを2GBに設定してもよいですか?サーバーにはたくさんのRAMがあります。現在は1.5GBに設定されており、同時ユーザー数が40人の場合は80%の使用率になります。ありがとう、
jvm - 実行時に jvm が開始されたコマンドを見つけます (1.6.0_12)
全文: より大きなメモリ割り当てで hudson のインスタンスを起動しようとしています。現在、引数を渡すために直接変更できない root 所有のスクリプトを使用しています。ただし、スクリプトは現在、サービスの起動時に $JAVA_ARGS 変数を渡します。必要なパラメータを JAVA_ARGS にエクスポートしましたが、アプリケーションはまだ古いメモリ制限に拘束されているようです。
質問: インスタンスの起動に使用されたコマンド ライン パラメータを確認する方法はありますか。より具体的には、Xmx と Xms に渡された値 (存在する場合) を探しています。
java - 64ビットJVMで可能な最大のヒープサイズはどれくらいですか?
-Xmx
32ビットシステムで設定できる理論上の最大ヒープ値はもちろん2^32
バイトですが、通常(最大JVMヒープサイズの理解-32ビットと64ビットを参照)4GBすべてを使用することはできません。
64ビットマシンの64ビットOSで実行されている64ビットJVMの場合、理論上の2^64
バイト数または16エクサバイトの制限以外に制限はありますか?
さまざまな理由(主にガベージコレクション)で、過度に大きなヒープは賢明ではないかもしれないことを私は知っていますが、テラバイトのRAMを備えたサーバーについて読んだことを考えると、何が可能か疑問に思います。
jvm - JVM オプション リスト - Oracle 以降も維持されていますか?
JVM オプション リストはまだどこかに維持されていますか? オラクルのウェブサイトからは消えてしまったようですが、幸いなことに Wayback Machine にはコピーがあります。
java - xmx に到達する前に 64 ビット JVM がメモリ不足をスローするのはなぜですか?
私は、Java アプリケーションの大量のメモリ要件に取り組んでいます。
より多くのメモリに対応するために、64 ビット JVM に切り替え、大きな xmx を使用しています。ただし、xmx が 2GB を超えると、アプリは予想よりも早くメモリ不足になるようです。2400M の xmx で実行し、GC 情報を見ると-verbosegc
...
...そして、メモリ不足の例外をスローします。メモリが不足する前に、2065024K を超えるヒープを増やすことが期待されます。
些細な例では、ループでメモリを割り当て、最終的にメモリが不足するまで情報Runtime.getRuntime().maxMemory()
を出力するテスト プログラムがあります。Runtime.getRuntime().totalMemory()
これを xmx 値の範囲で実行すると、Runtime.getRuntime().maxMemory()
xmx よりも約 10% 少なく、合計メモリが の 90% を超えて増加しないように見えますRuntime.getRuntime().maxMemory()
。
次の64ビットjvmを使用しています:
コードは次のとおりです。
このバッチ ファイルを使用して、複数の xmx 設定で実行します。32 ビット JVM への参照が含まれています。32 ビット JVM との比較が必要でした。明らかに、この呼び出しは xmx が約 1500M を超えるとすぐに失敗します。
これは、Excelに入れると次のように見えるcsvを吐き出します(ここで私のフォーマットが悪いことをお詫びします)
32ビット
64ビット
java - Javaメモリを増やす方法(アルゴリズムはubuntuで実行されますが、Macでは実行されません;同じマシン構成)
最近、悪名高いエラー メッセージが表示されますOutOfMemoryError
。私は 16GB RAM と 2X2.6 GH クアッドコアを搭載した 64Bit Mac を持っています。私が実行しているのと同じアルゴリズム(このエラーメッセージの原因)が別のマシン(ubuntu 16GB RAM)でスムーズに実行されているため、このエラーメッセージを取得しても意味がありません。
私のMacで上記のコードを実行すると、次のようになります:129,957,888(もちろんコンマなし:-))
そして、ubuntu マシンでこのコードを実行すると、次のようになります: 1,856,700,416
アルゴリズムを実行するために最大メモリを増やす方法を誰か教えてもらえますか? ありがとう!
eclipse: default VM arguments に設定しようとしました-Xms512m -Xmx4g
が、何も変わりませんでした。
eclipse - プロジェクトを Eclipse で実行しようとすると、VM 引数のパスが見つからないのはなぜですか?
Eclipse に取得させたい .properties ファイルがいくつかあります。ESAPI をインストールする指示によると、次のようにしてプロジェクトに追加できると書かれています。
Eclipse では、[ウィンドウ] > [設定] > [Java] > [インストール済みの JRE] に移動します。
そこから、唯一のオプションである jre7 を選択し、[編集...] ボタンをクリックします。
[Default VM Arguments:] ボックスに次のように入力しました。
しかし、プロジェクトを実行しようとすると、次のエラーが発生します。
ディレクトリとファイルはすぐそこにありますが。私は運がない他の場所を試しました。何かご意見は?
更新:私がしようとすると:
使用されたオプションが気に入らないかのように、この出力を取得します。
詳細については、 http://java.sun.com/javase/referenceを参照してください。
jvm - サーバークラス以外のマシンでの Xmx、Xms、MaxPermSize のデフォルト値
サーバークラス以外のマシンでの Java 6 の次のオプションのデフォルト値は?
- -Xmx
- -XX:MaxPermSize
Oracle のドキュメントには、次のように記載されています。
サーバー VM を実行しているサーバー クラスのマシンでは、ガベージ コレクター (GC) が以前のシリアル コレクター (-XX:+UseSerialGC) からパラレル コレクター (-XX:+UseParallelGC) に変更されました。
と
並列ガベージ コレクタ (-XX:+UseParallelGC) を使用して VM (クライアントまたはサーバー) を実行しているサーバー クラスのマシンでは、初期ヒープ サイズと最大ヒープ サイズが変更されました。
このページでは、非サーバー クラスのマシンのデフォルトについては説明していません。たとえば、初期ヒープ サイズが「妥当な最小値」であることだけが説明されています。コマンドの「マニュアルページ」を見ると、次のようなものがあります。java
-Xms
デフォルト値は、システム構成に基づいて実行時に選択されます
java - Eclipse で一貫して java.lang.OutOfMemoryError: PermGen space Error を取得する
私は一貫してjava.lang.OutOfMemoryError: PermGen space Error in Eclipse で任意のファイルを eclipse で開いているときに取得しています (exclipse が閉じられ、ログにこのエラーが表示されます)。ワークスペース (permgen エラーを示しています) ワークスペースのメタデータ フォルダーの下にあるログ ファイルのログは次のとおりです。
eclipse.ini パラメータを以下の値に変更した後でも、同じエラーが発生します。
私は eclipse helios 3.6 バージョンを使用しており、RAM は 8 GB です。これを取り除く方法がわかりません。
java - -Xms -Xmx および -XX:MaxPermSize JVM 引数値をチェックするためのプログラム アクセスを取得するにはどうすればよいですか?
重複の可能性:
Java JVM 起動パラメーターを読み取る (例: -Xmx)
Tomcat サーバーでアプリケーションを実行しています。デバッグの助けとしてログに記録できるように、-Xms -Xmx
およびJVM 引数の値にアクセスしたいと考えています。-XX:MaxPermSize
にリストされているこれらの引数を見つけようとしましSystem.properties
たSystem.getEnv()
が、それらはありません。それらを取得する別の方法はありますか、または代わりに、それらの存在の欠如System.properties
とSystem.getEnv()
、これらのオプションが設定されていないことを示していますか?