1

私の製品には 256 MB の RAM が搭載されています。Java 6 を Java 8 にアップグレードしました。その後、Java 8 でメモリ関連の問題に直面し始めました。Java 8 を使用すると、メモリ消費量が増加します。同じコードを使用すると、Java 6 でメモリ消費量が安定します。メタスペース、java8 に関して多くを調査しました。メタスペースパラメーターの下にあります。

以下の組み合わせを試してみましたが、メモリ不足エラーが発生しました

1.MaxMetaspaceSize 50M MaxMetaspaceFreeRatio 60M MinMetaspaceFreeRatio 50M

2.MaxMetaspaceSize 30M

3.MaxMetaspaceSize 40M

4.MaxMetaspaceSize 50M

5.MaxMetaspaceSize 80M

しかし、2 ~ 3 時間後、メモリ不足のメタスペース エラーが発生しました。

誰かがメタスペース オプション MaxMetaspaceSize、MaxMetaspaceFreeRatio、MinMetaspaceFreeRatio とは何かを説明できますか?

適切なサイズはどうやって決めるのですか?本番環境でメモリ不足のインスタンスを回避し、メモリ消費を削減するためのこれらの値の正しい組み合わせは何ですか?

4

1 に答える 1

2

問題は解決しました。JAXB には既知の問題があることがわかりました。

  • 文字列の代わりに文字列バッファを使用しました
  • JAXBContext の不要なインスタンスを削除しました。
  • このリンクを参照してください

  • JAXB にメモリ使用量の問題はありますか?
  • 于 2016-12-22T05:05:29.393 に答える