2017-11-30 9 views
0

本当の問題は、自分のサーバー上で使用できるRAMメモリにPermサイズのメモリベースを増やす方法がわかりません。 私は設定ファイルに入っており、私はヒープメモリ8192MbとMaxPermSizeを1024mとして予約していることがわかります。Jbossでヒープとペルメモリを増やすには?

JAVA_OPTS="-Xms1024m -Xmx8192m -XX:MaxPermSize=1024m -Djava.net.preferIPv4Stack=true" 
JAVA_OPTS="$JAVA_OPTS -Djboss.modules.system.pkgs=$JBOSS_MODULES_SYSTEM_PKGS -Djava.awt.headless=true" 

私のサーバーで使用可能なメモリの総量は9GBです。私の知る限り、Permメモリ空間はヒープメモリに属していません。ヒープメモリには8Gb、パーミルには1Gbを使用しています。 したがって、ペルメモリを増やしたい場合、ヒープメモリを減らす必要があります。たとえば、7GBまで増やし、Perm Memoryを2GBに増やす必要がありますか? または、ヒープメモリ用に8Gbを残して、PermSizeを2Gbに増やすこともできます。

私はこのエラーをサーバーから受信したため、これを実行しています。しかし、私はエデンのスペースがいっぱいですが、PermGenもいっぱいであるのを見ることができるので、何が問題なのかよく分かりません。 しかし、サーバに9GBのRAMメモリがあり、ヒープメモリ用に8Gb、パーマネントメモリ用に1GBのメモリが確保されていると、問題が発生する可能性があります。

Heap 
PSYoungGen  total 1937408K, used 1119744K [0x0000000755500000, 0x00000007ff680000, 0x0000000800000000) 
    eden space 1119744K, 100% used [0x0000000755500000,0x0000000799a80000,0x0000000799a80000) 
    from space 817664K, 0% used [0x0000000799a80000,0x0000000799a80000,0x00000007cb900000) 
    to space 811008K, 0% used [0x00000007cde80000,0x00000007cde80000,0x00000007ff680000) 
ParOldGen  total 5592064K, used 5591839K [0x0000000600000000, 0x0000000755500000, 0x0000000755500000) 
    object space 5592064K, 99% used [0x0000000600000000,0x00000007554c7ce0,0x0000000755500000) 
PSPermGen  total 261120K, used 260769K [0x00000005c0000000, 0x00000005cff00000, 0x0000000600000000) 
    object space 261120K, 99% used [0x00000005c0000000,0x00000005cfea86c8,0x00000005cff00000) 

答えて

1

あなたはMaxPermSizeを= 1024メートルを持っていますが、PSPermGenだけで261メートルを確保しますので、あなたはすべてを使用しないでください。

XmxとXmx istの違いは、通常、パフォーマンスの観点からは良くありません。

すべての物理メモリをヒープとPermGenに使用します。あなたはOSのためにいくつかのメモリを保持する必要があります。サーバーがページングを開始する可能性があります。

gc-logを解析するか、jstat、jconsoleまたはjvisualvmを使用してメモリ使用量を監視すると便利です。

+0

あなたは私のすべてのpermメモリを使用していないと言っていますが、ログには99%が使用されています。 1Gbを使用するように設定されていると、なぜ私は261PSPermGenしか持っていないのですか?どうすれば変更できますか? – mavi

+0

最大サイズは1024mですが、現在割り当てられている永続的なサイズは261mです。 JVMはそれ以上のものを必要としないので、より多くを割り当てることはありません。 -XX:PermSizeを設定すると、初期サイズを増やすことができますが、スペースが必要ない場合は、最初から必要以上に多くの容量を割り当てる必要があります。 –

+0

あなたの答えはErhardに感謝します。私は別のものを持っている。メモリが99%の場合、なぜJVMはより多くのメモリを割り当てませんか?一方、あなたが私に与えた情報では、私はPermSizeMaxメモリを増やす必要はないと推論することができ、必要なものはヒープメモリを増やすことです。私が本当に必要とするのは、あまりにも多くのメモリを消費するアプリケーションを見つけることですが、後でそれを修正します。 – mavi