阿里云部署SpringBoot项目启动后被杀进程的问题

阿里云部署SpringBoot项目启动后被杀进程的问题

最近部署在公司虚拟主机上的SpringBoot项目频繁被杀,这个虚拟主机是个杂货铺,部署着各种项目,时间跨度还大,不同的人负责,个人自扫门前雪,不管他人瓦上霜,乱的没人能说清楚,头疼。首先排除了磁盘不足,后来同事发现可用内存不足,分析原因发现是linux系统内存分配问题,阿里云服务器默认没有分配swap空间大小的。

知道原因就好办了,为系统增加swap空间。过程做个笔记。

步骤:

1.创建swap 分区文件

dd if=/dev/zero of=/home/swap bs=1024 count=1024000

意思是有1024个block,每个block为1k,文件的大小count乘以bs共1GB,这个空间大小根据项目及主机磁盘空间情况自己定义。

2.将分区文件变成swap分区

/sbin/mkswap /home/swap

3.启用swap分区

/sbin/swapon /home/swap

启用后,可以查看swap分区情况:

free -m

4.设置开机自动挂载

这一步是为了避免系统重启后swap分区会还原

也很简单,修改/etc/fstab文件,增加一行

/home/swap swap swap defaults 0 0

  1. SWAP分区的使用原则

在Linux系统中,可以通过查看/proc/sys/vm/swappiness内容的值来确定系统对SWAP分区的使用原则。当swappiness内容的值为0时,表示最大限度地使用物理内存,物理内存使用完毕后,才会使用SWAP分区。当swappiness内容的值为100时,表示积极地使用SWAP分区,并且把内存中的数据及时地置换到SWAP分区。

查看:cat /proc/sys/vm/swappiness

修改:sysctl -w vm.swappiness=60

相关推荐
Inhand陈工2 天前
基于台达PLC与映翰通IG502的智慧水产养殖精准投喂与远程运维解决方案
运维·人工智能·物联网·阿里云·信息与通信
Database_Cool_2 天前
什么是数据仓库物化视图?AnalyticDB MySQL 实时物化视图能力解析
人工智能·mysql·阿里云
Database_Cool_2 天前
大规模数据分析降本指南:AnalyticDB Serverless 弹性架构实战
数据仓库·阿里云·架构·数据分析·serverless
tiancaijiben3 天前
阿里云Kubernetes集群托管完全指南:从创建到生产级运维
云计算
我是小bā吖3 天前
Claude Code 模型接入阿里云 AI 网关并统计不同使用者的模型用量
网络·人工智能·阿里云
翼龙云_cloud3 天前
阿里云国际代理商:如何使用RDS MySQL 构建网站数据库?
数据库·mysql·阿里云
互联网推荐官3 天前
上海软件定制开发公司推荐:从PaaS工程化路径看D-coding的技术取舍
云原生·云计算·paas·软件开发·开发经验·上海
sbjdhjd3 天前
从零搭建企业级 CI/CD(下):Jenkins+GitLab+Harbor 全链路实战指南
git·servlet·ci/cd·云原生·云计算·gitlab·jenkins
wcy100863 天前
为 CentOS 7.6 (7.6.1810) 配置阿里云 Vault 源
linux·阿里云·centos
Inhand陈工3 天前
污水泵站PLC数据上云实战:西门子PLC + 映翰通IG502 + DM平台全流程
人工智能·物联网·网络安全·阿里云·信息与通信·iot