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参数调优设置完成;
相关推荐
猫豆~1 分钟前
ceph分布式存储——1day
java·linux·数据库·sql·云计算
爱吃烤鸡翅的酸菜鱼1 分钟前
Spring Boot 注解全栈指南:涵盖 Bean 注册、配置加载、请求映射、事务控制、数据校验等一网打尽
java·开发语言·spring boot·后端·spring
前方一片光明11 分钟前
SQL SERVER——通过计划任务方式每月对配置数据、审计数据等进行备份
运维·服务器
TFATS15 分钟前
Nvidia H100 算力服务器 Cuda Fabric Manager 升级
服务器·postgresql·fabric
小嘟嘟1320 分钟前
Kurator深度解析:云原生多集群管理的高效解决方案
linux·运维·docker·云原生·自动化
czlczl2002092521 分钟前
Spring Boot + Redis :如何设计“登出”功能
spring boot·redis·后端
韩曙亮25 分钟前
【错误记录】VirtualBox 中安装 Ubuntu 系统无法跨虚拟机进行复制操作 ( 解决方案 - 启用 “ 共享粘贴板 “、“拖动“ 双向操作 )
linux·运维·ubuntu·virtualbox·ros 2
老王熬夜敲代码27 分钟前
IO重定向
linux·笔记
大柏怎么被偷了27 分钟前
【Linux】重定向与应用缓冲区
linux·服务器·算法
金海境科技29 分钟前
【服务器数据恢复】数据中心私有云Ceph分布式集群文件丢失数据恢复案例
服务器·经验分享·分布式·ceph