linux服务器springboot或tomcat项目启动,进行jvm参数调优设置

简介

在实验环境或生产环境中,往往一台linux服务器需要添加启动n个项目,但是项目启动占用的jvm内存默认值基本上都是很大的,800m到2G都有,这样很容易将服务器的内存吃垮,从而导致系统强制oom(内存泄露),不留任何情面;

所以,我们在部署项目的时候需要进行jvm参数的调优设置,保证内存使用的稳定性;

  1. 首先执行命令:free -h,查询当前的内存占用情况,从下图可看出,内存已被撑爆;
  2. 开始进行优化,执行命令:top,查看各个应用的内存占用情况,选取内存占用过高的pid进程;
  3. 然后获取pid号5252,根据pid查询对应的进程以及项目路径,执行命令:ps -aux |grep -v grep|grep 5252
  4. 定位到项目跟路径之后,开始设置项目启动jvm内存占用,不同项目可分配不同的内存;
  • 如果是springboot项目jar启动,则在启动的时候指定jvm的内存分配:
  • nohup java -jar -Xms128M -Xmx256M -XX:PermSize=128M -XX:MaxPermSize=256M process-activiti-0.0.1-SNAPSHOT.jar > activiti.log 2>&1 &
  • 如果是tomcat项目启动,则在bin目录下,执行命令:vim catalina.sh,然后在顶部加上:
    JAVA_OPTS="-Xms128m -Xmx256m"
  1. 重新启动项目之后,执行命令查询修改情况:jps -v
  2. 将所有高消耗的项目都修改重启之后,重新查看内存占用情况:free -h,如下图,已经腾出了近4G空间,jvm参数调优设置完成;
相关推荐
程序员小凯2 分钟前
Spring Boot消息队列与事件驱动详解
java·spring boot·后端
郝学胜-神的一滴3 分钟前
Linux系统函数stat和lstat详解
linux·运维·服务器·开发语言·c++·程序人生·软件工程
Mr.亮先生15 分钟前
常用、高效、实用的 Linux 服务器监控与运维工具清单
linux·运维·服务器
王道长服务器 | 亚马逊云21 分钟前
AWS CloudWatch Logs Insights:实时日志分析,让服务器问题无所遁形
服务器·云计算·aws
poemyang29 分钟前
单线程如何撑起百万连接?I/O多路复用:现代网络架构的基石
linux·rpc·i/o 模式
计算机学姐1 小时前
基于微信小程序的垃圾分类管理系统【2026最新】
java·vue.js·spring boot·mysql·微信小程序·小程序·mybatis
i学长的猫1 小时前
Spring Boot 布隆过滤器最佳实践指南
spring boot·后端·哈希算法
Mr_hwt_1231 小时前
spring boot框架中本地缓存@Cacheable原理与踩坑点详细解析
java·spring boot·后端·缓存
时空潮汐1 小时前
无需公网 IP:神卓 K900 实现海康摄像头异地观看的两种简单方法
服务器·网络·tcp/ip·海康摄像头·神卓n600·神卓云监控
zl9798991 小时前
SpringBoot-自动配置原理
java·spring boot·spring