1、现象
使用docker部署的Nacos在运行一段时间后,就自动停止运行了。
查看docker运行容器,nacos停止了
2、解决
因为是学生购买的轻量级服务器,所以配置很低,出现这种问题我默认是内存爆了
解决步骤部分参考了此文章
解决步骤:
1.查看操作系统日志
journalctl -k | grep -i -e memory -e oom
可以看到由于内存不足,守护线程oom killer杀掉了java线程,该线程就是我们的Nacos
2.查看Nacos日志
docker logs 容器名
可以看到Nacos容器设置的堆内存过大,所以系统无法分配这么多的内存,操作系统Kill了这个线程
3.调整Nacos容器堆内存大小
没有找到修改容器JVM参数的方式,所以选择退而求其次的方法,在配置容器时加上JVM内存限制:
-e JVM_XMS=64m -e JVM_XMX=64m -e JVM_XMN=16m
JVM_XMS=512m // 为jvm启动时分配的内存;512m
JVM_XMX=512m // 为jvm运行过程中分配的最大内存;512m
JVM_XMN=256m // jvm堆内存中新生代的大小;256m
Nacos配置docker容器:
docker run --name nacos-standalone -e MODE=standalone -e JVM_XMS=64m -e JVM_XMX=64m -e JVM_XMN=16m -p 8848:8848 -d nacos/nacos-server
4.查看nacos日志
如图,JVM最大为64m,现在我的垃圾服务器能够顺利搭建集群了(上面使用的是standalone)
标签:容器,部署,64m,Nacos,nacos,内存,JVM,Docker From: https://www.cnblogs.com/zko0/p/17080758.html