linux 部署项目过多,服务器内存又不足,导致部分项目被迫挂掉解决方法
多个 jar 包项目部署在同一台服务器上,当服务器配置低,内存不足时,有可能出现 nohup java -jar 启动的进程就莫名其妙挂掉的问题。
解决方式:
第一种方法:进行JVM调优可以改善这种情况,但是项目太多,我们的个人服务器配置实在太低,仍然无法解决此问题,这里不做讨论了。
第二种方法:我们可以通过分配虚拟内存的方式解决,操作如下:
(1)查看当前内存使用情况
free -m
(2)划分虚拟内存分区(大小为2G),执行命令会卡一小会无响应
dd if=/dev/zero of=/var/swap bs=1024 count=2048000
(3)分别执行下面两条命令: 将分区设置为SWAP分区,并将其设置为有效状态
mkswap /var/swap
swapon /var/swap
(4)再次查看内存使用情况
free -m
Swap 虚拟内存中已经由 0 变成了 1999,说明我们已经成功分配了大约 2G 的虚拟内存。接下来启动多个项目看一下能不能正常使用Swap的虚拟内存
。。。。 启动项目中 。。。。
(5)启动完项目后,执行: ps aux | grep java 查看所有服务,看看是否还会再挂,一般就不会了。
(6)这样配置,每次服务器重启,就没了,所以设置开机自动挂载 Swap 分区,编辑文件 /etc/fstab,在下面加入:/var/swap swap swap default 0 0
vim /etc/fstab
/var/swap swap swap default 0 0
最后保存即可
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通