【Linux】通过分配虚拟内存的方式来解决因内存不够而导致部署的项目自动挂掉

从零开始的-CodeNinja之路 2024-07-27 09:37:02 阅读 62

多个 jar 包项目部署在同一台服务器上,当服务器配置低,内存不足时,有可能出现 nohup java -jar 启动的进程就莫名其妙挂掉的问题。

解决方式:

第一种方法:进行JVM调优可以改善这种情况,但是项目太多,我们的个人服务器配置实在太低,仍然无法解决此问题,这里不做讨论了。

第二种方法:我们可以通过分配虚拟内存的方式解决,操作如下:

(1)查看当前内存使用情况

<code>free -m

在这里插入图片描述

(2)划分虚拟内存分区(大小为2G),执行命令会卡一小会无响应

<code>dd if=/dev/zero of=/var/swap bs=1024 count=2048000

在这里插入图片描述

(3)分别执行下面两条命令: 将分区设置为SWAP分区,并将其设置为有效状态

<code>mkswap /var/swap

swapon /var/swap

在这里插入图片描述

(4)再次查看内存使用情况

<code>free -m

在这里插入图片描述

Swap 虚拟内存中已经由 0 变成了 1999,说明我们已经成功分配了大约 2G 的虚拟内存。接下来启动多个项目看一下能不能正常使用Swap的虚拟内存

。。。。 启动项目中 。。。。

(5)启动完项目后,执行: ps aux | grep java 查看所有服务,看看是否还会再挂,一般就不会了。

(6)这样配置,每次服务器重启,就没了,所以设置开机自动挂载 Swap 分区,编辑文件 /etc/fstab,在下面加入:/var/swap swap swap default 0 0

<code>vim /etc/fstab

/var/swap swap swap default 0 0

在这里插入图片描述

最后保存即可



声明

本文内容仅代表作者观点,或转载于其他网站,本站不以此文作为商业用途
如有涉及侵权,请联系本站进行删除
转载本站原创文章,请注明来源及作者。