Dokcer运行Nacos容器自动退出问题

Dokcer运行Nacos容器自动退出问题

参考博文

学生党,租的云服务器,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的物理内存。然后就按前面的方式重新调整一下堆内存就可以了。

Tags: