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参数调优设置完成;
相关推荐
Coder码匠4 小时前
Dockerfile 优化实践:从 400MB 到 80MB
java·spring boot
fpcc4 小时前
跟我学C++中级篇——Linux中文件和链接及重定向
linux·c++
菜的不敢吱声8 小时前
swift学习第4天
服务器·学习·swift
晚枫歌F11 小时前
Dpdk介绍
linux·服务器
风送雨12 小时前
FastMCP 2.0 服务端开发教学文档(下)
服务器·前端·网络·人工智能·python·ai
奋进的芋圆13 小时前
Java 延时任务实现方案详解(适用于 Spring Boot 3)
java·spring boot·redis·rabbitmq
model200513 小时前
alibaba linux3 系统盘网站迁移数据盘
java·服务器·前端
yuhaiqun198913 小时前
学服务器训练AI模型:5步路径助力高效入门
运维·服务器·人工智能·笔记·机器学习·ai
阿杰 AJie14 小时前
主流传输 /通信协议的【使用场景 + 详细使用说明】大全
服务器·tcp/ip
工程师老罗14 小时前
龙芯2k0300 PMON取消Linux自启动
linux·运维·服务器