問題タブ [metaspace]

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.

0 投票する
2 に答える
1781 参照

java - Coldfusion メタスペース null

CF2016 を使用して、このエラーが開発者環境と実稼働環境で発生していますが、それほど頻繁ではありません。

いくつかのフォーラムを読むと、ガベージ コレクターのアイデアが得られ、このコードを実装してコレクターを強制することができました。

興味深いことに、ランタイム メモリには多くのスペースがあります (通常、スペースの半分は空いています) Metaspace Null

別のアプローチは、ロードされたクラスである可能性があります。おそらく、それらは自動的に破棄されていません。しかし、ロードされたものを見る方法が見つかりません。

これまでのところ、「解決策」はサーバーを再起動して、正常に動作できるようにすることです。最大 JVM ヒープ サイズを 1024MB に増やしてもエラーの頻度を減らすことができましたが、まだ発生しています。

そしてスタックトレース...ゴーストファイルの-1行にたどり着くのは難しいです! xD

ここに画像の説明を入力

Java バージョン: 1.8.0_112

ガベージ コレクタ: -XX:+UseParallelGC (デフォルト)

VM への引数 (読みやすいように改行しています)

0 投票する
1 に答える
427 参照

java - メタスペースとネイティブ領域のメモリは Java でどのように管理されますか?

私が理解していることから、JVM 内のネイティブ エリアはガベージ コレクターにとって完全に立ち入り禁止です。メタスペースがあるネイティブエリア内。前述のメタスペースには、定数プール、フィールド、メソッド データなどの領域があります。

ネイティブ エリアは C++ メモリ管理によって管理されているため (または、少なくとも私はそのように理解しています)、固定サイズではないメタスペースが、必要なメモリ量に応じて動的に拡大するのはなぜですか?記憶の外?ガベージ コレクターはメタスペースで許可されますが、ネイティブ エリアの残りの部分では許可されませんか? C++ はメモリを動的に管理していますか?