1.定位步骤
kubectl top node -n xxx 或者kubectl describe nodes 查看 pod申请资源是否合理
2. kubectl exec -it xx -n bbb -- bash
# 查看默认最大堆大小(字节)
java -XX:+PrintFlagsFinal -version | grep MaxHeapSize
# 运行时查看实际使用的堆大小
java -XX:+PrintCommandLineFlags -version
ps -ef |grep java 找到对应的应用的pid
# 3. 查看运行时JVM参数
jcmd <pid> VM.flags
# 4. 或者查看所有GC相关参数
jcmd <pid> VM.flags | grep -i gc
修改 dockerfile中 java的初始化参数
# -XX:+PrintGCDetails -Xloggc:/logs/gc.log -XX:+PrintGCTimeStamps -XX:GCLogFileSize=10M
CMD java -Xms512m -Xmx2048m -XX:G1HeapRegionSize=8m -XX:+UseG1GC -jar /xxxx/xxx/xx.jar