参考博文
学生党,租的云服务器,2核2G。使用Docker运行Nacos容器的时候发现总是自动退出。Nacos日志里面没有明显的报错信息。查了一下是内存溢出错误,指令如下
journalctl -k | grep -i -e memory -e oom
发生了OOM错误,自动杀死了相关进程
又重新看了下Nacos日志,如下图所示,发现堆内存设置的太大了,初始堆内存Xms设置的1G,最大堆内存Xmx设置的1G,年轻代Xmn设置的512M。
问题找到了,将JVM堆内存设置小即可
我用的是 docker-compose运行Nacos相关服务的。Nacos相关部分的yml代码如下所示
version: "3.2"
services:
nacos:
image: nacos/nacos-server
environment:
- MODE=standalone
- JVM_XMS=64m
- JVM_XMX=64m
- JVM_XMN=16m
ports:
- "8848:8848"
启动完了记得再看下Nacos日志是不是按自己配置的内存来的,如果没变,应该就是yml里面的格式不对,再核对核对自己写的配置文件对不对。再重新运行配置文件后,我们查看Nacos日志,发现配置生效
再查一下运行中的Docker容器
docker ps
没有自动退出。但是又出了新的问题。nacos虽然不会自动退出了,但是日志又报堆内存溢出了,报错的图我忘记截了,大家知道java堆内存溢出即可
查一下nacos使用内存,使用指令
ps -aux|grep nacos
发现其占用大概300多M的物理内存。然后就按前面的方式重新调整一下堆内存就可以了。
到此这篇关于docker运行Nacos容器自动退出问题的文章就介绍到这了,更多相关docker运行Nacos容器自动退出内容请搜索软件开发网以前的文章或继续浏览下面的相关文章希望大家以后多多支持软件开发网!