Javaのメモリ消費に問題があります。総メモリ制限についてJavaに正常に伝えるには?
私はJavaに次のように言ってみたいと思います:「あなたは8GBのメモリを持っていて、それを使用してください。本当にこのメモリプールにすべてのリソースを入れることができない場合にのみ失敗します。 OOM "
私は、-Xmxのようなデフォルトのパラメータがあることを知っています - ヒープのみを制限します。他にもたくさんのパラメータがあります。これらのパラメータの問題は次のとおりです。
これらは関係ありません。私はヒープサイズを6GBに制限したくありません(そして、ネイティブメモリは2GBを超えないと信じています)。私はすべてのメモリ(ヒープ、ネイティブ、何でも)を制限したい。そして、「-Xmx1GB」というだけでなく、効果的に行うことが安全です。
メモリに関連するパラメータが多すぎるため、目標を達成するためにすべてを構成する方法がわかりません。
したがって、私はそこに行き、ヒープ、パーマ、およびあらゆるタイプのメモリを気にしたくありません。私の高いレベルの期待は:8GBしかないので、いくつかのスタティックメモリが必要です。スタティックメモリを8GBから取り出し、残りのメモリを他のダイナミックメモリエンティティ間で慎重に分割します。
また、ulimitなども機能しません。私は予想よりも多くのメモリを消費すると、Javaプロセスを強制終了したくありません。私は、Javaが限界に達しないように最善を尽くすことを望んでいる。
100個のJavaパラメータを定義することもできます。 :)しかし、私は必要なパラメータ(例えば、Java 8のための)の完全なリストを手助けする必要があります。
https://stackoverflow.com/questions/3513903/how-to-calculate-and-にのみ有効であることに注意してくださいjava-total-memory-space-allowed-for-java-processを指定しますか? –