[解決済み] Runtime.getRuntime().totalMemory()とfreeMemory()とは何ですか?
質問
の正確な意味は何だろうかとずっと考えていました。 Runtime.getRuntime().totalMemory() , Runtime.getRuntime().freeMemory()。 そして Runtime.getRuntime().maxMemory() があります。
私の理解では
Runtime.getRuntime().totalMemory()
は、私のプロセスが使用しているメモリの合計を返します。これは正しいですか?
どうでしょう
freeMemory()
と
maxMemory()
?
解決方法は?
によると API
totalMemory()
Java 仮想マシンの総メモリ量を返します。このメソッドが返す値は、ホスト環境に応じて時間の経過とともに変化する可能性があります。 任意の型のオブジェクトを保持するために必要なメモリ量は、実装に依存する可能性があることに注意してください。
maxMemory()
Java仮想マシンが使用しようとするメモリの最大量を返します。固有の制限がない場合は、Long.MAX_VALUEの値が返されます。
freeMemory()
Java 仮想マシンの空きメモリ量を返します。gcメソッドを呼び出すと、freeMemoryが返す値が増加する場合があります。
ご質問の件ですが
maxMemory()
は
-Xmx
の値を指定します。
と疑問に思われるかもしれませんが の合計メモリ と maxMemory() . その答えは、JVMがメモリを遅延して割り当てるからです。 このようにJavaプロセスを開始するとしましょう。
java -Xms64m -Xmx1024m Foo
プロセスは64mbのメモリで始まり、それ以上(1024mまで)必要な場合は、メモリを割り当てます。
totalMemory()
はメモリ量に相当する
現在
JVMがFooのために利用可能です。 もしJVMがもっとメモリを必要とすれば、それは遅延的に割り当てられます。
アップ
を最大メモリにする。 で実行した場合
-Xms1024m -Xmx1024m
から得られる値は
totalMemory()
と
maxMemory()
は等しくなります。
また、正確に計算したい場合は 中古 メモリは、次の計算で行います。
final long usedMem = totalMemory() - freeMemory();
関連
-
[解決済み] JVM起動時のパラメータ「-Xms」「-Xmx」とは何ですか?
-
スレッド "main" で例外発生 java.lang.ArrayIndexOutOfBoundsException: 4 at text.Division.main(Divisi
-
[解決済み] JavaでInputStreamを読み込んでStringに変換するにはどうすればよいですか?
-
[解決済み] JavaにおけるHashMapとHashtableの違いは何ですか?
-
[解決済み] Javaにおけるpublic、protected、package-private、privateの違いは何ですか?
-
[解決済み] serialVersionUIDとは何ですか、またなぜそれを使用する必要がありますか?
-
[解決済み] リフレクションとは何か、なぜ有用なのか?
-
[解決済み] wait()とsleep()の違いについて
-
[解決済み] スタックトレースとは何ですか、またアプリケーションのエラーをデバッグするためにスタックトレースをどのように使用できますか?
-
[解決済み] 静的変数が悪とされるのはなぜですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
Java エラー報告 スレッド "main" での例外 java.util.NoSuchElementException
-
アクセス制限です。タイプ 'Application' は API ではありません。
-
プロジェクトの依存関係を解決できなかった 解決
-
javaコンパイル時のエラー:不正な文字 '\ufeff' に対する解決策です。
-
自動配線された依存性のインジェクションに失敗しました。
-
linux run jarfile Invalid or corrupt jarfile error.
-
javaでよく使われる英単語
-
[オリジナル】java学習ノート【II】よくあるエラー クラスパス上のクラスファイルが見つからない、またはアクセスできない場合
-
java.lang.NoClassDefFoundError: org.apache.jasper.el.ELContextImpl クラスを初期化できませんでした。
-
起動時にEclipseエラーが発生しました。起動中に内部エラーが発生しました。java.lang.NullPoin: "Javaツーリングの初期化 "中に内部エラーが発生しました。