jdk8以上jvm常用参数

2023-11-16

这几天一直在折腾jvm调优的事情。作为新手,把自己遇到的问题记录下来。调整jvm参数的方法有很多,网上也到处是,我也看了很多,选择用tomcat进行jvm参数设置。

linux服务器配置:

linux系统下的tomcat通过startup.sh启动的

所以我们在catalina.sh正式代码开始之前加上

JAVA_OPTS="-Xms****m -Xmx****m -XX:MetaspaceSize=***m -XX:MaxMetaspaceSize=***m -XX:CompressedClassSpaceSize=***m"

值得注意的是我使用的是jdk1.8以上,所以Metaspace代替了之前的Perm。Metaspace使用的是物理内存,而不是像perm从heap中分割出来一部分。而且metaspace会动态扩展,但是我们仍然设置限制一下他的大小,以免系统内存全都被它耗干。

当然,还可以加其他参数,在文章最后将摘抄一波jvm的配置,以供查阅、添加。

应用服务器一般内存的80%都用于服务于我们的项目,所以可以设置最大容量为内存的80%。如果是你本地的pc,还是自己斟酌。然后有人说新老生代比例为1:2 这个我觉得结合实际情况出发。如果项目上大部分程序的对象都存活不短不长,比如15次youngGC后转为老生代,搞不好正好其实如果多等几下没准就被yongGC掉了,没必要进入老年代,一般如果这种情况还比较多的话,最好还是要增大一些新生代大小,防止多次gc而变为年老代。所以还是结合实际情况。

windows下的tomcat调整jvm参数:

修改catalina.bat

添加:set JAVA_OPTS=-server -Xms***m -Xmx****m -Xmn***m -XX:MetaspaceSize=****m -XX:MaxMetaspaceSize=***m -XX:CompressedClassSpaceSize=**m

如上同理

值得注意的是,我们加在了catalina.bat下,我们只能是通过批处理文件(也就是startup.bat)打开tomcat, 我试过如果在idea中直接运行项目的话,好像并没有把项目跑起来,除非把项目扔到了webapps中,但是我在idea中的项目并没有放在tomcat的webapps中,因为想用idea的java代码热部署的功能。所以要改的话只能在idea中tomcat的configuration中VM options:中添加jvm的配置信息。添加之后,运行项目,可以看到项目跑起来了,而且打开jvisualVM查看gc,我们发现配置已经生效了。

当然网上还有教程说tomcat是安装版的,教程跟解压版的不大一样,由于我的是解压版的,所以我也没试过安装版。

下面摘抄一波jvm参数

摘抄自:https://blog.csdn.net/wang379275614/article/details/78471604

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

jdk8以上jvm常用参数 的相关文章

随机推荐

  • 【MybatisPlus逆向工程】代码生成器

    使用mybatis plus的逆向工程生成entity controller service mapper的初始代码 参考链接 https baomidou com pages d357af E6 B7 BB E5 8A A0 E4 BE
  • linux:ubuntu 查看ip

    解决方法 ifconfig a 或者sudo vi etc netplan 00 installer config yaml 进行查看
  • SpringSecurity基本使用

    文章目录 1 基本使用 2 自定义配置用户名与密码 3 自定义登录页面 4 基于权限访问控制 5 自定义403 6 使用注解 Secured PreAuthorize PostAuthorize PostFilter PreFilter 1
  • 芯片组x299是服务器主板吗,X299主板怎么样/值得买吗?新一代酷睿i9和发烧级X299主板全面深度评测...

    主板外观 配置 丰富的PCIe扩展插槽一向是Extreme至尊级平台的优势之处 5条长插槽中的两条有LED灯效设计和合金固化 需要组双路显卡的时候就优先使用这两条合金固化的插槽就好 CPU供电模块 CPU供电模块有9相合金数字供电 也有设计
  • pandas对文本数据进行长度统计

    在NLP的各项任务中 都需要对语料的长度有一个概括性的了解 例如平均长度 最大长度 大多数语料的长度范围等 以此来确定输入模型时的最大文本长度 pandas库有一种写法可以快速的统计文本语料的长度情况 pd pandas Series po
  • Ubuntu 挂载硬盘

    安装 nfs服务 三台服务器都需要安装 sudo apt get install nfs kernel server nfs common 数据盘操作 安装 完成后在数据盘服务器 修改etc exports文件增加共享盘 home Odoo
  • Arduino - PC817C光耦

    元件简介 PC817C是光隔离线性反馈控制器件 是PC817系列中常用的一个型号 左边 1 2脚 输入端 控制端 是一个发光二极管 右边 3 4脚 输出端 受控端 是一个三极管 CE极 控制端与受控端是隔离的 PC817C主要技术参数 控制
  • pandas 更改单元格的值,使用索引为pandas DataFrame中的特定单元格设置值

    I ve created a Pandas DataFrame df DataFrame index A B C columns x y and got this x y A NaN NaN B NaN NaN C NaN NaN Then
  • python collections.OrderedDict有序字典的使用

    detectron2中大量的使用OrderedDict 有序字典 有序字典可以按字典中元素的插入顺序来输出 python的基础数据类型中的字典类型分为 无序字典与有序字典两种类型 1 无序字典 普通字典 遍历一个普通字典 返回的数据和定义字
  • 关于api-ms-win-crt-runtime

    关于api ms win crt runtime 1 1 0 dll缺失的解决方案 问题原因 有时 我们在打开文件程序的时候经常出现一些关于以下的错误 无法启动此程序因为计算机中丢失api ms win crt runtime 1 1 0
  • C语言 输出 1000 对孪生素数

    孪生素数就是差值为 2 的成对素数 例如3和5 5和7 11和13 代码实现 include
  • 如何解决vue项目打包内存溢出问题

    在打包命令配置文件中加入图中代码即可 cross env NODE OPTIONS max old space size 4096
  • string的用法

    std string的初始化 std string 变量名称 字符串 要截取的长度 std string str 123456 3 str 123 注 中文时支持不佳 std string 变量名称 字符串 起始位置 截取长度 std st
  • 第7篇 rabbitmq 创建SocketFrameHandler

    本节主要是熟悉socketFrameHandlerFactory类 真正涉及到socket流处理器 展示如下类图 我们本文关心是SocketFrameHandlerFactory 和SocketFrameHandler 由类图可以知道Soc
  • 安全狗linux 安装教程,linux网站安全狗(apache版)安装教程

    以32位安装包为例子 64位安装包只要将对应的32改成64即可 步骤一 到http safedog cn下载软件安装包 tar gz格式 safedogwz linux32 tar gz 也可以采取wget的方式下载安装包 wget htt
  • 如何制作和训练自己的数据集(YoloV5)

    标注方法 1 自己获取的数据集 人工进行标注 全人工 2 自己获取的数据集 首先使用训练好的网络标注一遍 然后手动进行微调 半人工 3 仿真数据集 GAN网络来生成自己的数据集 synthetic data 标注工具 1 CVAT 需要安装
  • undefined 和 undeclared 的区别

    var a undefined b b is not defined 区别 在变量作用域中已经申明但没有赋值的变量 如 a 是undefined 相反 在变量作用域中没有申明过的变量 是undeclared 我们试图访问 undeclare
  • ahook中常用的一些hooks

    官方文档 https ahooks js org zh CN 以下总结一些个人认为非常实用的hook 1 useRequest 请求 import useRequest from ahooks const getSome async gt
  • VUE中使用防抖和节流

    目的 减少请求次数 节省资源 防抖 在事件触发n秒后执行函数 如果在n秒内再次出发 就重新计算 节流 在多次执行某一动作时 限制为每隔一段时间执行一次函数 防抖 连续的事件 只需触发一次 eg 高频率的点击 防止表单重复提交 输入框搜索 输
  • jdk8以上jvm常用参数

    这几天一直在折腾jvm调优的事情 作为新手 把自己遇到的问题记录下来 调整jvm参数的方法有很多 网上也到处是 我也看了很多 选择用tomcat进行jvm参数设置 linux服务器配置 linux系统下的tomcat通过startup sh