JVM典型配置和调优举例
1. 堆设置
-Xms: :初始堆大小。
-Xmx: :最大堆大小。
-XX:NewSize=n: :设置年轻代大小。
-XX:NewRatio=n: : :设置年轻代和年老代的比值。如:为 3,表示年轻代与年老代比值为 1:3,
年轻代占整个年轻代年老代和的 1/4。
-XX:SurvivorRatio=n: : :年轻代中 Eden 区与两个 Survivor 区的比值。注意 Survivor 区有两个。
如:3,表示 Eden:Survivor=3:2,一个 Survivor 区占整个年轻代的 1/5。
-XX:MaxPermSize=n: : 设置持久代大小。
2. 收集器设置
-XX:+UseSerialGC: : 设置串行收集器。
-XX:+UseParallelGC: : 设置并行收集器。
-XX:+UseParalledlOldGC: : 设置并行年老代收集器。
-XX:+UseConcMarkSweepGC: : 设置并发收集器。
3. 垃圾回收统计信息设置
-XX:+PrintGC
-XX:+PrintGCDetails
-XX:+PrintGCTimeStamps
-Xloggc:filename
4. 并行收集器设置
-XX:ParallelGCThreads=n:设置并行收集器收集时使用的 CPU 数。并行收集线程数。
-XX:MaxGCPauseMillis=n:设置并行收集最大暂停时间。
29
-XX:GCTimeRatio=n:设置垃圾回收时间占程序运行时间的百分比。公式为 1/(1+n)。
5. 并发收集器设置
-XX:+CMSIncrementalMode: : 设置为增量模式。适用于单 CPU 情况。
-XX:ParallelGCThreads=n: : 设置并发收集器年轻代收集方式为并行收集时,使用的 CPU 数。并行
收集线程数。
6. 年轻代大小选择
响应时间优先的应用 : :尽可能设大,直到接近系统的最低响应时间限制(根据实际情况选择)。
在此种情况下,年轻代收集发生的频率也是最小的。同时,减少到达年老代的对象。
吞吐量优先的应用 :尽可能的设置大,可能到达 Gbit 的程度。因为对响应时间没有要求,
垃圾收集可以并行进行,一般适合 8CPU 以上的应用。
7. 年老代大小选择
响应时间优先的应用 : :年老代使用并发收集器,所以其大小需要小心设置,一般要考虑 并发
会话 率和 会话持续时间等一些参数。如果堆设置小了,可以会造成内存碎片、高回收频率以
及应用暂停而使用传统的标记清除方式;如果堆大了,则需要较长的收集时间。最优化的方
案,一般需要参考以下数据获得:
1. 并发垃圾收集信息
2. 持久代并发收集次数
3. 传统 GC 信息
4. 花在年轻代和年老代回收上的时间比例
减少年轻代和年老代花费的时间,一般会提高应用的效率
JVM典型配置和调优举例的更多相关文章
- JVM基本配置与调优
JVM基本配置与调优 JVM调优,一般都是针对堆内存配置调优. 如图:堆内存分新生代和老年代,新生代又划分为eden区.from区.to区. 一.区域释义 JVM内存模型,堆内存代划分为新生代和老年代 ...
- JVM原理讲解和调优
一.什么是JVM JVM是Java Virtual Machine(Java虚拟机)的缩写,JVM是一种用于计算设备的规范,它是一个虚构出来的计算机,是通过在实际的计算机上仿真模拟各种计算机功能来实现 ...
- JVM底层原理及调优之笔记一
JVM底层原理及调优 1.java虚拟机内存模型(JVM内存模型) 1.堆(-Xms -Xmx -Xmn) java堆,也称为GC堆,是JVM中所管理的内存中最大的一块内存区域,是线程共享的,在JVM ...
- (转)JVM原理讲解和调优
背景:jvm实际调优在面试时候经常被问到,所以有必要认真总结一番. 转自:JVM原理讲解和调优 四.JVM内存调优 首先需要注意的是在对JVM内存调优的时候不能只看操作系统级别Java进程所占用的内存 ...
- 深入理解JVM虚拟机10:JVM常用参数以及调优实践
转自http://www.rowkey.me/blog/2016/11/02/java-profile/?hmsr=toutiao.io&utm_medium=toutiao.io&u ...
- 【CNMP系列】PHP配置和调优
上一节我们说到PHP5.6.30在CentOS7.0下的整个安装过程,http://www.cnblogs.com/riverdubu/p/6428226.html 今天我来和大家讲解一下PHP-FP ...
- JVM典型配置
堆大小设置: JVM中最大堆大小有三方面限制:相关操作系统的数据模型(32-bt还是64-bit)限制:系统的可用虚拟内存限制:系统的可用物理内存 限制.32位系统下,一般限制在1.5G~2G:64为 ...
- jvm系列五、jvm垃圾回收机制、jvm各种参数及调优
转载自:http://yufenfei.iteye.com/blog/1746914 尊重原创. 一.GC有两种类型:Scavenge GC 和Full GC 1.Scavenge GC 一般情况下, ...
- HBase配置性能调优(转)
因官方Book Performance Tuning部分章节没有按配置项进行索引,不能达到快速查阅的效果.所以我以配置项驱动,重新整理了原文,并补充一些自己的理解,如有错误,欢迎指正. 配置优化 zo ...
随机推荐
- 【集群】JedisCluster 原理
1. JedisCluster类结构 JedisCluster是针对RedisCluster的java客户端,它封装了java访问redis集群的各种操作,包括初始化连接.请求重定向等.我们先来看下J ...
- 一条SQL在 MaxCompute 分布式系统中的旅程
摘要:2019杭州云栖大会大数据技术专场,由阿里云资深技术专家侯震宇.阿里云高级技术专家陈颖达以及阿里云资深技术专家戴谢宁共同以“SQL在 MaxCompute 分布式系统中的旅程 ”为题进行了演讲. ...
- Kattis - boxes (LCA)
Boxes There are NN boxes, indexed by a number from 11 to NN. Each box may (or not may not) be put in ...
- Andrdoid中对应用程序的行为拦截实现方式之----从Java层进行拦截
致谢: 感谢 简行之旅的这篇blog:http://blog.csdn.net/l173864930/article/details/38455951,这篇文章是参考这篇blog的进行一步一步操作的, ...
- 使用Guzzle执行HTTP请求
Guzzle是一个PHP的HTTP客户端,用来轻而易举地发送请求,并集成到我们的WEB服务上.Guzzle提供了简单的接口,构建查询语句.POST请求.分流上传下载大文件.使用HTTP cookies ...
- FFMpeg视频解码初探
在视频解码前,先了解以下几个基本的概念: 编解码器(CODEC):能够进行视频和音频压缩(CO)与解压缩(DEC),是视频编解码的核心部分. 容器/多媒体文件(Container/File):没有了解 ...
- 数字三角形 (DP入门)
7 3 8 8 1 0 2 7 4 4 4 5 2 6 5 给出一个数字三角形.从三角形的顶部到底部有很多条不同的路径 ...
- keepalive+Haproxy
1.keepalive Keepalived 是一款轻量级HA集群应用,它的设计初衷是为了做LVS集群的HA,即探测LVS健康情况,从而进行主备切换,不仅如此,还能够探测LVS代理的后端主机的健康状况 ...
- 11.Jmeter 快速入门教程 -- jmeter事务控制器
你肯定知道, jmeter是一个跨系统平台的性能测试工具, 比如他可以在linux,freebsd,windows,solaris 等等各种系统上可以运行. 我可以说, 事务 transaction ...
- 自动化运维Shell入门
运维shell 作用 项目部署 项目监控 什么是shell shell是一个程序,/bin/bash/,是一个命令解释器所有linux命令都由他来执行,打开终端就进入了 shell的交互式命令 运行方 ...