Spring Boot 项目调优,JVM 调优,预防触发Linux的OOM-Killer机制

本文介绍了如何针对一个8GB内存的Linux服务器上运行的Spring Boot服务进行内存调优,以防止触发Linux的OOM-Killer机制。以一个RocketMQ消费者服务为例,调整JVM参数,观察内存占用情况,分析Java进程堆栈,探讨进一步优化的可能性。通过减少线程堆栈大小等手段尝试减小内存占用,同时提供了相关参考资料供深入研究。

前言

手上有一个测试服务器,内存是8G,最近开始搭起微服务的软件架构,单个Spring Boot 服务内存占用有点大,比如一个RocketMq的消费者服务(单独运行的服务),启动占用了 500M 内存,导致我后面想运行其他服务,内存不够,触发了 Linux 的 OOM - Killer 机制

Linux杀死了我们的进程,但 nohup.out 没有记录任何东西,我们的linux发生的都在记录/var/log下,通过下面命令查看被杀死进程信息

dmesg | egrep -i -B100 'killed process
在这里插入图片描述

最近内存的确有点吃紧,上面只需要关注第二个 anno-rss 实际占用内存(被Kill前),现在有两个方向一个是不做微服务,第二个是给Spring Boot 项目瘦身√

下面以我们的RocketMQ消费者为例,看看没有优化前直接启动占用多少实际内存

# 启动命令
nohup java -jar /usr/****/jar/consumer-rocketmq/target/consumer-rocketmq-2.0.1.RELEASE.jar &

# 获取进程号23371的pid和启动参数,rss实际占用内存(kB),vsz允许最大内存,
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值