Intellij IDEA 的Tomcat Server 配置VM options参数说明

点击Intellij IDEA 界面窗口Run,打开Edit Configuration,出现Run/Debug Configurations界面。Application server 选择安装Tomcat所在的文件夹,点击Configuration一般自动配置好了,其他的就按照图上的填写。
VM options这项需要我们自己填写,我填的是VM options : -Xms768m -Xmx768m -XX:PermSize=64M -XX:MaxPermSize=512m
每一项以空格隔开

参数说明

-Xms768m:设置JVM初始堆内存为768m。此值可以设置与-Xmx相同,以避免每次垃圾回收完成后JVM重新分配内存。
-Xmx768m:设置JVM最大堆内存为768m。
-Xss128k:设置每个线程的栈大小。JDK5.0以后每个线程栈大小为1M,之前每个线程栈大小为256K。应当根据应用的线程所需内存大小进行调整。在相同物理内存下,减小这个值能生成更多的线程。但是操作系统对一个进程内的线程数还是有限制的,不能无限生成,经验值在3000~5000左右。需要注意的是:当这个值被设置的较大(例如>2MB)时将会在很大程度上降低系统的性能。
-Xmn2g:设置年轻代大小为2G。在整个堆内存大小确定的情况下,增大年轻代将会减小年老代,反之亦然。此值关系到JVM垃圾回收,对系统性能影响较大,官方推荐配置为整个堆大小的3/8。
-XX:NewSize=1024m:设置年轻代初始值为1024M。
-XX:MaxNewSize=1024m:设置年轻代最大值为1024M。
-XX:PermSize=256m:设置持久代初始值为256M。
-XX:MaxPermSize=256m:设置持久代最大值为256M。
-XX:NewRatio=4:设置年轻代(包括1个Eden和2个Survivor区)与年老代的比值。表示年轻代比年老代为1:4。
-XX:SurvivorRatio=4:设置年轻代中Eden区与Survivor区的比值。表示2个Survivor区(JVM堆内存年轻代中默认有2个大小相等的Survivor区)与1个Eden区的比值为2:4,即1个Survivor区占整个年轻代大小的1/6。
-XX:MaxTenuringThreshold=7:表示一个对象如果在Survivor区(救助空间)移动了7次还没有被垃圾回收就进入年老代。如果设置为0的话,则年轻代对象不经过Survivor区,直接进入年老代,对于需要大量常驻内存的应用,这样做可以提高效率。如果将此值设置为一个较大值,则年轻代对象会在Survivor区进行多次复制,这样可以增加对象在年轻代存活时间,增加对象在年轻代被垃圾回收的概率,减少Full GC的频率,这样做可以在某种程度上提高服务稳定性。

标准参数

所有JVM都必须支持这些参数的功能,而且向后兼容;例如:

-client——设置JVM使用Client模式,特点是启动速度比较快,但运行时性能和内存管理效率不高,通常用于客户端应用程序或开发调试;在32位环境下直接运行Java程序默认启用该模式。
-server——设置JVM使Server模式,特点是启动速度比较慢,但运行时性能和内存管理效率很高,适用于生产环境。在具有64位能力的JDK环境下默认启用该模式。
非标准参数(-X),默认JVM实现这些参数的功能,但是并不保证所有JVM实现都满足,且不保证向后兼容;
非稳定参数(-XX),此类参数各个JVM实现会有所不同,将来可能会不被支持,需要慎重使用;

Intellij IDEA 的VM options参数配置说明相关推荐

  1. IDEA Java程序启动添加参数 VM options、Program arguments、Program arguments

    文章目录 Run Configuration 1. VM options 1.1 添加方法 1.2 获取方法 2. Program arguments 2.1 添加方法 2.2 获取方法 3. Env ...

  2. Java虚拟机(JVM)参数配置说明

    http://lavasoft.blog.51cto.com/62575/25492/ Java虚拟机(JVM)参数配置说明   在Java.J2EE大型应用中,JVM非标准参数的配置直接关系到整个系 ...

  3. java虚拟机在哪配置参数,Java虚拟机(JVM)参数配置说明

    Java虚拟机(JVM)参数配置说明 1. Java VM 运行于linux平台上的JVM会读取/etc/sysconfig/i18n中的参数来决定输出流的编码方式,如果在安装linux系统过程中没有 ...

  4. Vue源码后记-更多options参数(1)

    我是这样计划的,写完这个还写一篇数据变动时,VNode是如何更新的,顺便初探一下diff算法. 至于vue-router.vuex等插件源码,容我缓一波好吧,vue看的有点伤. 其实在之前讲其余内置指 ...

  5. maven通过配置VM options可以解决乱码、证书、依赖下载等问题

    前言 把工作中容易遇到的关于maven问题做了一下记录,发现有些可以通过VM options设置参数解决,于是把他们总结写了篇博客. 1.maven控制台输出乱码问题 出现这个原因是源码使用的是UTF ...

  6. AD9516/AD9517时钟芯片寄存器参数配置说明

    目录 1 概述 2 界面参数设置 2.1 器件选择 2.2 参数设置 2.3 VCO的主要配置与关系 3 寄存器值 4 附录 5 AD9516_17_18 Eval Software 软件下载链接如下 ...

  7. .net core 中通过 PostConfigure 验证 Options 参数

    .net core 中通过 PostConfigure 验证 Options 参数 Intro 在 .net core 中配置项推荐用 Options 来实现,有一些参数可能必须是用由用户来配置,不能 ...

  8. java获取vm运行参数_如何获取在Java中运行Java VM的版本?

    java获取vm运行参数 To get the version of running VM (Virtual Machine) in Java, we use the getProperties() ...

  9. gbrl参数_grbl-0.9运行参数配置说明

    grbl-0.9运行参数配置说明 2018-09-14 平台:ArduinoUNO R3 软件:Grbl 默认IO口配置 Grbl基本操作指令 参考[https://github.com/grbl/g ...

最新文章

  1. matlab zeros(12 1),Matlab中  函数zeroS(1,8) 代表什么意思??
  2. 通用双向链表的设计(参考Linux系统中的实现)
  3. linux 在某个core上的中断 affinity c语言函数,Linux中断处理体系结构
  4. 数论初步——同余与模算术
  5. MyCAT+MySQL 搭建高可用企业级数据库集群
  6. php mysql 日期时间_php Mysql日期和时间函数集合
  7. python 初始化数组 numpy,Python Numpy 数组的初始化和基本操作
  8. hyper虚拟机下对centos进行动态扩容
  9. html整体引入js,html页面用js引入js的方式
  10. Judge Complex(判断-复杂)
  11. python数据抓取课程_Python爬虫入门教程 22-100 CSDN学院课程数据抓取
  12. 周末ROS学习沙龙第三期——launch文件、自定义服务通信、控制机器人移动、传感器数据处理
  13. 算法--帕斯卡三角(杨辉三角)JS写法
  14. 小米3g刷高格固件_不走弯路:小米路由器3G 刷Padavan固件简单教程
  15. 完整HTML实例网页代码(1)
  16. 人工势场python_ROS及SLAM进阶教程(十一)多机器人编队人工势场法协同避障算法原理及实现...
  17. GAT GAX 简介
  18. 怎么查看自己宽带是公网ip还是内网ip?
  19. ArcGIS中去除Z或M值的方法
  20. 新建Flutter项目无法导入FlutterActivity

热门文章

  1. SSD固态盘高低温测试方法
  2. singalrhub
  3. C语言最难学的四大内容是什么?
  4. 电脑经常弹出“不支持的硬件”解决办法
  5. 公路村村通 (30分)【C语言】Prim算法 和 Kruskal算法
  6. 子墨对酒《三国杀》里论模式(三)适配器模式
  7. || ?? 和 ?. 的意思
  8. 配置远程运行后提示,/usr/bin/python: can‘t open file ‘xxxx‘: [Errno 2] No such file or directory
  9. Elasticsearch 集群压力测试
  10. protostuff介绍