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的物理內存。然后就按前面的方式重新調整一下堆內存就可以了。