参考:JVM 参数使用总结

参考:java  -Xms -Xmx -XX:PermSize -XX:MaxPermSize

参考:JVM调优总结 -Xms -Xmx -Xmn -Xss

参考:JAVA(-Xms,Xmx,Xmn-XX:newSize,-XX:MaxnewSize,-XX:PermSize,-XX:MaxPermSize)区别

登录服务器之后执行:

sudo -iu sankuai;

ps -ef |grep java

结果为:

[yinfuqing@dx-qcs-regulation-shanghai01 ~]$ sudo -iu sankuai
[sankuai@dx-qcs-regulation-shanghai01 ~]$ jps
App
Jps
[sankuai@dx-qcs-regulation-shanghai01 ~]$ ps -ef|grep java
sankuai : pts/ :: grep java
sankuai Jan15 ? :: /usr/local/java8/bin/java -server -Dfile.encoding=UTF-
-Dsun.jnu.encoding=UTF- -Djava.io.tmpdir=/tmp -Djava.net.preferIPv6Addresses=false -Dcom.sun.management.jmxremote.port=
-Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false
-Xmx7g -Xms7g -Xss256k -Xmn512m
-XX:SurvivorRatio= -XX:PermSize=256m -XX:MaxPermSize=256m
-XX:+HeapDumpOnOutOfMemoryError -XX:ReservedCodeCacheSize=128m
-XX:InitialCodeCacheSize=128m -XX:+DisableExplicitGC -XX:+PrintGCDetails -XX:+PrintHeapAtGC -XX:+PrintTenuringDistribution
-XX:+UseConcMarkSweepGC -XX:+PrintGCTimeStamps -XX:+PrintGCDateStamps -XX:CMSFullGCsBeforeCompaction=
-XX:+UseCMSCompactAtFullCollection -XX:CMSInitiatingOccupancyFraction=
-Xloggc:/opt/meituan/logs/simple/com.sankuai.qcs.regulation.shanghai.gc.log
-XX:ErrorFile=/opt/meituan/logs/simple/com.sankuai.qcs.regulation.shanghai.vmerr.log
-XX:HeapDumpPath=/opt/meituan/logs/simple/com.sankuai.qcs.regulation.shanghai.heaperr.log
-Dconfig.type=prod -Dapp.appkey=com.sankuai.qcs.regulation.shanghai
-Djetty.appkey=com.sankuai.qcs.regulation.shanghai com.sankuai.qcs.regulation.shanghai.App

这都是我们在:项目的:bin/run_main.sh中定义的,

大体看一下:

首先看一下参数的类别:

参数分类
1.标准参数
功能和输出的参数都是很稳定的 在未来的JVM版本中不会改变 可以使用java -help检索出所有的标准参数
2.X参数
非标准化参数 在未来的版本可能会改变 所有的参数都用-X开始 可以使用java -X检索 但是注意没有-Xcomp
3.XX参数
非标准 很长一段时间不会列出来 用于JVM开发的debug和调优

-XX指的是debug或者调优的参数

然后:

参数简称 参数全称 表示含义  
-Xms

-XX:InitialHeapSize

初始化堆的大小  
-Xmx -XX:MaxHeapSize  设置堆的最大大小  
-XX:newSize   表示新生代初始内存的大小  
-XX:MaxnewSize   表示新生代可被分配的内存的最大上限  
-Xmn 相当于同时设置:1、-XX:newSize:表示新生代初始内存的大小,应该小于-Xms的值;
2、-XX:MaxnewSize:表示新生代可被分配的内存的最大上限;当然这个值应该小于-Xmx的值; 
同时设置年轻代大小和年轻代的最大大小,

至于这个参数则是对 -XX:newSize、-XX:MaxnewSize两个参数的同时配置,也就是说如果通过-Xmn来配置新生代的内存大小,那么-XX:newSize = -XX:MaxnewSize = -Xmn,虽然会很方便,但需要注意的是这个参数是在JDK1.4版本以后才使用的。

 

-XX:PermSize

  设置永久代的初始大小  

-XX:MaxPermSize

  设置永久代的最大大小  
 

-XX:NewRatio

设置新生代和老生代的相对大小 
优点是新生代大小会随着整个堆大小动态扩展 
-XX:NewRatio=3[老生代/新生代=3]
 
 

-XX:SurvivorRatio

指定Eden区和Survivor区的大小比例
注意两个幸存区是一样大的
-XX:SurvivorRatio=10 表示Eden区占整个新生代的10/12 每个Survivor占1/12

Survior区过大 虽然有足够的空间容纳GC后的幸存对象 但是Eden区药效会导致空间很快耗尽 增加新生代GC次数
Survior区过小 没有足够的空间容纳GC后的幸存对象 使得对象都会移动到老生代 不方便回收
---------------------
作者:heqianqiann
来源:CSDN
原文:https://blog.csdn.net/Thousa_Ho/article/details/77278656
版权声明:本文为博主原创文章,转载请附上博文链接!

 
 

-XX:+HeapDumpOnOutOfMemoryError

使得JVM在产生内存溢出时自动生成堆内存快照  
  XX:HeapDumpPath=<path>  改变默认的堆内存快照生成路径,<path>可以是相对或者绝对路径  
 

-XX:OnOutOfMemoryError

当内存发生溢出时 执行一串指令  
-Xss   设置每个线程的堆栈大小,DK5.0以后每个线程堆栈大小为1M,以前每个线程堆栈大小为256K。更具应用的线程所需内存大小进行调整。在相同物理内存下,减小这个值能生成更多的线程。但是操作系统对一个进程内的线程数还是有限制的,不能无限生成,经验值在3000~5000左右。  
       

spring 启动脚本分析的更多相关文章

  1. HBase配置&启动脚本分析

    本文档基于hbase-0.96.1.1-cdh5.0.2,对HBase配置&启动脚本进行分析 date:2016/8/4 author:wangxl HBase配置&启动脚本分析 剔除 ...

  2. Spark配置&启动脚本分析

    本文档基于Spark2.0,对spark启动脚本进行分析. date:2016/8/3 author:wangxl Spark配置&启动脚本分析 我们主要关注3类文件,配置文件,启动脚本文件以 ...

  3. Hadoop启动脚本分析

    Hadoop启动脚本分析 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 能看到这篇博客的你估计对Hadoop已经有一个系统的了解了,最起码各种搭建方式你应该是会的,不会也没有关系, ...

  4. 4. hadoop启动脚本分析

    4. hadoop启动脚本分析 1. hadoop的端口 ``` 50070 //namenode http port 50075 //datanode http port 50090 //2name ...

  5. busybox rootfs 启动脚本分析(二)

    上次分析了busybox的启动脚本,这次分析一下init.d中一些脚本的内容. 参考链接 http://www.cnblogs.com/helloworldtoyou/p/6169678.html h ...

  6. busybox rootfs 启动脚本分析(一)

    imx6文件系统启动脚本分析.开机运行/sbin/init,读取/etc/inittab文件,进行初始化. 参考链接 http://blog.163.com/wghbeyond@126/blog/st ...

  7. hadoop启动脚本分析及常见命令

    进程------------------ [hdfs]start-dfs.sh NameNode NN DataNode DN SecondaryNamenode 2NN [yarn]start-ya ...

  8. linux系统 initrd.img中init启动脚本分析

    概述:这篇文章主体内容来源于网上转载.前面几篇文章倾向于制作initrd.img,这篇文章更倾向于initrd.img的运行过程:加载framebuff驱动 ide驱动和文件系统驱动,最后进入到真正的 ...

  9. 内核启动文件系统后第一个执行的文件(inittab启动脚本分析)

    Linux 开机脚本启动顺序: 第一步:启动内核 第二步:执行init (配置文件/etc/inittab) 第三步:启动相应的脚本,执行inittab脚本,并且执行里面的脚本/etc/init.d ...

随机推荐

  1. Oracle hint之ORDERED和USE_NL

    Hint:ORDERED和USE_NL ORDERED好理解,就是表示根据 from 后面表的顺序join,从左到右,左边的表做驱动表 use_nl(t1,t2):表示对表t1.t2关联时采用嵌套循环 ...

  2. maven 配置文件settings.xml设置

    打开这个配置文件 在相应标签下配置这些内容 //将中央仓库修改为阿里云的仓库 <mirrors> <mirror> <id>nexus-aliyun</id& ...

  3. 003_webpack 配合babel 将es6转成es5

    今天接触了webpack,第一次使用webpack进行转码,竟然稀里糊涂就成功了,哈哈. 下面附上流程 创建个文件夹,初始化一下,首先全局安装webpack npm install webpack - ...

  4. [转]C#中基于GDI+(Graphics)图像处理系列之前言

    直接给出原文链接吧: C#中基于GDI+(Graphics)图像处理系列之前言 链接:https://pan.baidu.com/s/1zm5TCOHqkqEfiLZuqO0UMA 提取码:qz0h

  5. 启动mysql服务,报错1067,进程意外终止

    之前一直使用的是oracle,这次换成mysql,在配置my.ini的时候,添加default-character-set=utf8,来修改字符集. 修改完成之后,启动mysql的服务,但是报错,10 ...

  6. Nginx(一)------简介与安装

    说到 Nginx ,可能大家最先想到的就是其负载均衡以及反向代理的功能.没错,这也是当前使用 Nginx 最频繁的两个功能,但是 Nginx 可不仅仅只有这两个功能,其作用还是挺大的,本系列博客就来慢 ...

  7. Asp.net中web.config配置文件详解(二)

    摘自http://blog.csdn.net/hbqhdlc/article/details/8155668 近日正在看Asp.net,看到Web.config有很不清楚之处,特意从网络.MSDN搜集 ...

  8. Chrome开发者工具应对页面跳转页面点击事件等实用干货

    1.如何解决页面跳转 打开Preserve log即可 禁用页面缓存在右边的disable cache 2.如何监听页面点击 重要的是举一反三,看不懂英文去翻译!Mouse鼠标,click点击,,,, ...

  9. JAVA里自定义注解来进行数据验证

    API开发中经常会遇到一些对请求数据进行验证的情况,这时候如果使用注解就有两个好处,一是验证逻辑和业务逻辑分离,代码清晰,二是验证逻辑可以轻松复用,只需要在要验证的地方加上注解就可以. Java提供了 ...

  10. 【开源】小程序、小游戏和Web运动引擎 to2to 发布

    简单轻量跨平台的 Javascript 运动引擎 Github → https://github.com/dntzhang/cax/tree/master/packages/to Simple DEM ...