1 现象描述
在Linux服务器上部署了一版java服务,前几天功能还是正常的。在集中测试的时候,突然登录不进系统了,页面上一直在转圈加载,原以为是网络或者nginx的原因,因为前端页面调用后台接口时,接口返回显示502 Bad Gateway。
一直围绕以上两个问题进行排查,排查了一圈也没发现有什么问题。之后突然看到日志中显示以下报错信息:
java.lang.OutOfMemoryError: Metaspace
显然,空间不够的问题,那么,在什么地方配置了Metaspace信息呢——JVM。
2 问题解决
找到原因,那么问题就好解决了,只要把空间调大就可以,之前的配置信息如下:
JAVA_OPT="-server -Xms256m -Xmx512m -XX:MetaspaceSize=64m -XX:MaxMetaspaceSize=128m"
根据服务器实际配置,修改为:
JAVA_OPT="-server -Xms8192m -Xmx8192m -XX:MetaspaceSize=256m -XX:MaxMetaspaceSize=512m"
再次部署,问题不再出现。