自学内容网 自学内容网

【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

在这里插入图片描述

最后保存即可


原文地址:https://blog.csdn.net/smile_sundays/article/details/140674371

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!