GC

  • -XX:+PrintGC   打印GC日志
  • -XX:+PrintGCDetails   打印详细的GC日志
  • -Xloggc:/var/gc.log   将GC日志打印在根目录的var文件夹下的gc.log文件中

class

  • -verbose:class   打印类加载和卸载信息

堆内存

  • -Xmx2048m   最大堆内存
  • -Xms2048m   最小堆内存
  • -Xmn512m   新生代内存
  • -XX:SurvivorRatio   值为eden/from=eden/to
  • -XX:+HeapDumpOnOutOfMemoryError   在内存溢出时导出整个堆信息
  • -XX:HeapDumpPath=/var/heap.dump   指定导出堆的存放路径

方法区

  • -XX:PermSize=50m  方法区大小
  • -XX:MaxPermSize=50m   方法区最大大小

Metaspace

  • -XX:MaxMetaspaceSize  指定元空间的大小,默认情况下,只受限于系统内存大小

  • -Xss1m

直接内存

  • -XX:MaxDirectMemorySize   最大可用直接内存,默认最大值为-Xmx,直接内存使用量达到该值时,触发垃圾回收

垃圾回收器

  • -XX:UseSerialGC   使用serial/serial old垃圾回收器
  • -XX:PrintGCApplicationStoppedTime:查看STW时间
  • -XX:UseParNewGC   使用parNew/serial old
  • -XX:ParallelGCThreads   parNew的GC线程数

Parallel

  • -XX:+UseParallelGC   使用Parallel Scavenge/serial Old  //TODO
  • -XX:+UseParallelOldGC   使用Parallel Scavenge/Parallel Old
  • -XX:GCTimeRatio:直接设置吞吐量大小,假设设为19,则允许的最大GC时间占总时间的1/(1+19),默认值为99,即1/(1+99)
  • -XX:MaxGCPauseMillis:最大GC停顿时间,该参数并非越小越好
  • -XX:+UseAdaptiveSizePolicy:开启该参数,-Xmn/-XX:SurvivorRatio/-XX:PretenureSizeThreshold这些参数就不起作用了,虚拟机会自动收集监控信息,动态调整这些参数以提供最合适的的停顿时间或者最大的吞吐量(GC自适应调节策略),而我们需要设置的就是-Xmx,-XX:+UseParallelOldGC或-XX:GCTimeRatio两个参数就好(当然-Xms也指定上与-Xmx相同就好)

CMS

  • -XX:+UseConcMarkSweepGC   使用parNew/CMS
  • -XX:CMSInitiatingOccupancyFraction   指定当年老代空间满了多少后进行垃圾回收。默认68,即68%
  • -XX:+UseCMSCompactAtFullCollection   (默认是开启的)在CMS收集器顶不住要进行FullGC时开启内存碎片整理过程,该过程需要STW
  • -XX:CMSFullGCsBeforeCompaction   指定多少次FullGC后才进行整理
  • -XX:ParallelCMSThreads   指定CMS回收线程的数量,默认为:(CPU数量+3)/4
  • -XX:+CMSPermGenSweepingEnabled与-XX:+CMSClassUnloadingEnabled   使用CMS进行方法区的回收

G1

  • -XX:+UseG1GC   使用G1

对象进入年老代

  • -XX:MaxTenuringThreshold=15   复制过15次后
  • -XX:PretenureSizeThreshold=1000   大于1000字节的对象直接进入年老代

JIT

  • -XX:CounterHalfLifeTime   半衰周期
  • -XX:CompileThreshold   默认server模式是10000,即在半衰周期内方法调用次数达到10000次,将该方法编译为机器码
  • -XX:-UseCounterDecay   关闭上述机制,即半衰周期的无穷大
  • -XX:OnStackReplacePercent   用于计算循环体执行的次数,server模式下通过该值算出来的回边数是10700,即循环体执行10700次时便以为机器码

第十章 常用的JVM参数记录的更多相关文章

  1. [转]17个常用的JVM参数

    作者:SimpleSmile_5177 来源:https://www.cnblogs.com/Simple-Object/p/10272326.html 前言 大家都知道,jvm在启动的时候,会执行默 ...

  2. Tcpdump 常用命令、参数记录

    一.介绍 一个关于Centos  Tcpdump 的个人工作总结. 二.参数介绍: 1. -i:   指定要进行抓包的网卡 2.-s0 :表示每个报文的大小是接收到的指定大小,如果没有这个选项,则超过 ...

  3. JVM 参数设置

    YGC FGC 都会影响程序的运行,中断程序,JVM参数调整比较复杂,现在记录了一下平时常用的JVM参数: jar 包启动: usr/java/bin/java -jar -Xms2560m -Xmx ...

  4. 常用的JVM调优参数总结汇总【随时查阅学习】

    本文章参数根据后期用的参数会持续更新  --- (1)-Xms20M 表示设置JVM启动内存的最小值为20M,必须以M为单位 (2)-Xmx20M 表示设置JVM启动内存的最大值为20M,必须以M为单 ...

  5. 常用的JVM配置参数

    一.Trace 跟踪参数 在Eclipse中,如何打开GC的监控日志 选择菜单栏Run -> Run Configurations -> Java Application -> 选择 ...

  6. 【java虚拟机】常用的jvm配置参数

    转自:https://www.cnblogs.com/pony1223/p/8661219.html 零.在IDE的后台打印GC日志: 既然学习JVM,阅读GC日志是处理Java虚拟机内存问题的基础技 ...

  7. JVM参数汇总

    一.java启动参数共分为三类: 其一是标准参数(-),所有的JVM实现都必须实现这些参数的功能,而且向后兼容:其二是非标准参数(-X),默认jvm实现这些参数的功能,但是并不保证所有jvm实现都满足 ...

  8. 修改jmeter jvm参数

    记录下常用的linux下 jmeter jvm参数修改,打开jmeter安装目录/bin/jmeter(非jmeter.sh) 1. 修改默认堆内存大小 #默认的 HEAP="-Xms512 ...

  9. 明白生产环境中的jvm参数

    明白生产环境中的jvm参数 写代码的时候,程序写完了,发到线上去运行,跑一段时间后,程序变慢了,cpu负载高了--一堆问题出来了,所以了解一下生产环境的机器上的jvm配置是有必要的.比如说: JDK版 ...

随机推荐

  1. 循序渐进学.Net Core Web Api开发系列【4】:前端访问WebApi

    系列目录 循序渐进学.Net Core Web Api开发系列目录 本系列涉及到的源码下载地址:https://github.com/seabluescn/Blog_WebApi 一.概述 前一篇文章 ...

  2. java中远程http文件上传及file2multipartfile

    工作中有时会遇到各种需求,你得变着法儿去解决,当然重要的是在什么场景中去完成. 比如Strut2中file类型如何转换成multipartfile类型,找了几天,发现一个变通的方法记录如下(虽然最后没 ...

  3. iOS 11开发教程(十三)iOS11应用编辑界面添加视图

    iOS 11开发教程(十三)iOS11应用编辑界面添加视图 在iOS中添加视图的方式有两种:一种是使用编辑界面添加视图:另一种是使用代码添加视图.以下是这两个方式的详细介绍. 1.编辑界面添加视图 使 ...

  4. react运行阶段

    运行中可以使用的函数componentWillReceiveProps:父组件修改属性触发,可以修改新属性,修改状态.字面意思,组件将要接收属性,这个函数触发的时机就是组件的属性将要发生改变的时候,但 ...

  5. 「BZOJ 3645」小朋友与二叉树

    「BZOJ 3645」小朋友与二叉树 解题思路 令 \(G(x)\) 为关于可选大小集合的生成函数,即 \[ G(x)=\sum[i\in c ] x^i \] 令 \(F(x)\) 第 \(n\) ...

  6. [TC11326]ImpossibleGame

    [TC11326]ImpossibleGame 题目大意: 一类字符串仅由'A','B','C','D'四种字母组成.对于这样的一个字符串\(S\),可以用以下两种方式之一修改这个字符串: 交换\(S ...

  7. hdu 4451 37届金华赛区 J题

    题意:给出衣服裤子鞋子的数目,有一些衣服和裤子,裤子和鞋子不能搭配,求最终的搭配方案总数 wa点很多,我写wa了很多次,代码能力需要进一步提升 #include<cstdio> #incl ...

  8. jersey练习

    package com.tz.router; import java.util.ArrayList; import java.util.Date; import java.util.List; imp ...

  9. 【原】getInputStream()与getParameterMap()获得Post请求的数据区别

    [前言] 最近在写一个接口,写好以后想测试,自己写ajax(Post方法)来调用接口倒是可以用action所在类的属性的get/set方法获得数据.但是不只是页面的ajax会调用这个接口,还有外系统会 ...

  10. PS小技巧之完美抠图

    具体详细步骤如下01.打开图片,ctrl+j复制一层得到图层1,点击红圈处新建图层2,放于图层1与背景层之间,填充你喜欢的颜色,作为检查效果和新的背景图层. 02.点击图层1,用“快速选择工具”大致做 ...