Springbootマイクロサービスは自動的に問題の位置決めプロセスを停止しました
テストサーバー(32 Gメモリ)環境のspringbootマイクロサービスはわけがわからず、記録分析過程:一、topはcpuが負荷しているかどうかを検査し、%Cpuの行のid、値が高いほどcpuが暇になる二、topは高メモリプログラムを検査し、topはMで大きいから小さいまで高メモリを占有するプログラムを見て、いくつかのjavaアプリケーションが20%ぐらい占めていることを発見した.さらにps-aux|grep pidでこれらのjavaサービスを見ると、8 G程度のメモリ3、jmap-heap pidごとに割り当てられたjvmメモリパラメータが表示され、関連パラメータの名前の意味(ネット上で探した説明)は以下の通りで、自分が表示したMaxHeapSizeパラメータが8 G+メモリを占有していることがわかります
四、このいくつかのspringbootマイクロサービスの起動命令がInitialHeapSizeとMaxHeapSizeパラメータを加えたものであることを確認し、しかも500 Mを設定し、jmap-heappidを何回か修正してMaxHeapSizeパラメータが8 G+メモリを占有しているかを見ることができる.-Xmx 1 g-Xms 1 gパラメータは有効ではありませんjava-jar-X:+HeapDumpOnOutOfMemoryError-X:HeapDumpPath=/data/logs/test/test.jar-Xmx 1 g-Xms 1 g--app.id=aerasfsa 5、インターネットで資料を調べたところ、jvmパラメータ設定はjarパッケージコマンドの前に、アプリケーション.propertiesのパラメータ--app.id=aerasfsaはjarの後ろに、修正起動コマンドは、java-jar-Xmx 1 g-Xms 1 g-XX:+HeapDumpOnOutOfMemoryError-X:HeapDumpPath=/data/logs/test/test.jar--app.id=aerasfsa六、jmap-heapp pidを再度チェックして割り当てられたjvmメモリパラメータを表示します.正しく、構成と同様にlinuxメモリが解放され、問題解決
jmap -heap pid
using thread-local
object allocation.
Parallel GC with 4 thread(s) #GC
Heap Configuration: #
MinHeapFreeRatio=40 # jvm -XX:MinHeapFreeRatio JVM (default 40)
MaxHeapFreeRatio=70 # jvm -XX:MaxHeapFreeRatio JVM (default 70)
MaxHeapSize=512.0MB # jvm -XX:MaxHeapSize= JVM
NewSize = 1.0MB # jvm -XX:NewSize= JVM ‘ ’
MaxNewSize =4095MB # jvm -XX:MaxNewSize= JVM ‘ ’
OldSize = 4.0MB # jvm -XX:OldSize=: JVM ‘ ’
NewRatio = 8 # jvm -XX:NewRatio=:‘ ’ ‘ ’
SurvivorRatio = 8 # jvm -XX:SurvivorRatio= Eden Survivor
PermSize= 16.0MB # jvm -XX:PermSize=: JVM ‘ ’
MaxPermSize=64.0MB # jvm -XX:MaxPermSize=: JVM ‘ ’
Heap Usage: #
PS Young Generation
Eden Space: #Eden
capacity = 20381696 (19.4375MB) #Eden
used = 20370032 (19.426376342773438MB) #Eden
free
= 11664 (0.0111236572265625MB) #Eden
99.94277218147106% used #Eden
From Space: # Survivor
capacity = 8519680 (8.125MB)
used = 32768 (0.03125MB)
free
= 8486912 (8.09375MB)
0.38461538461538464% used
To Space: # Survivor
capacity = 9306112 (8.875MB)
used = 0 (0.0MB)
free
= 9306112 (8.875MB)
0.0% used
PS Old Generation # Old
capacity = 366280704 (349.3125MB)
used = 322179848 (307.25464630126953MB)
free
= 44100856 (42.05785369873047MB)
87.95982001825573% used
PS Perm Generation # “ ”
capacity = 32243712 (30.75MB)
used = 28918584 (27.57891082763672MB)
free
= 3325128 (3.1710891723632812MB)
89.68751488662348% used
四、このいくつかのspringbootマイクロサービスの起動命令がInitialHeapSizeとMaxHeapSizeパラメータを加えたものであることを確認し、しかも500 Mを設定し、jmap-heappidを何回か修正してMaxHeapSizeパラメータが8 G+メモリを占有しているかを見ることができる.-Xmx 1 g-Xms 1 gパラメータは有効ではありませんjava-jar-X:+HeapDumpOnOutOfMemoryError-X:HeapDumpPath=/data/logs/test/test.jar-Xmx 1 g-Xms 1 g--app.id=aerasfsa 5、インターネットで資料を調べたところ、jvmパラメータ設定はjarパッケージコマンドの前に、アプリケーション.propertiesのパラメータ--app.id=aerasfsaはjarの後ろに、修正起動コマンドは、java-jar-Xmx 1 g-Xms 1 g-XX:+HeapDumpOnOutOfMemoryError-X:HeapDumpPath=/data/logs/test/test.jar--app.id=aerasfsa六、jmap-heapp pidを再度チェックして割り当てられたjvmメモリパラメータを表示します.正しく、構成と同様にlinuxメモリが解放され、問題解決