JVM 调优参数设置
先看Linux内存大小(假设为2G)
cat /proc/meminfo |grep MemTotal
查看java初始配置
java -XX:+PrintFlagsInitial
Tomcat配置
export JAVA_OPTS="-server -Xms*M -Xmx*M ***"
-server 即tomcat以真实的production模式运行(更好的性能), 默认为-client模式
详细配置
#最大堆内存
-Xmx1400M
#初始堆内存
-Xms1400M
#年轻代 内存
-Xmn200M
#持久代 内存,(JDK1.7 )
-XX:PermSize=100M
-XX:MaxPermSize=100M
#元空间 内存(JDK1.8) https://www.cnblogs.com/dennyzhangdd/p/6770188.html
-XX:MetaspaceSize=100m
-XX:MaxMetaspaceSize=100m
#单个线程 的内存, 小项目128k一般较大项目256K够了
-Xss256K
#关闭System.gc()
-XX:+DisableExplicitGC
# Eden区与Survivor区的大小比值 设置为8,则Eden区:Survivor=8:2, 一个Survivor区占整个年轻代的1/10
#设置为1, 则Eden区:Survivor=1:2,(Survivor固定为2) 所以Eden区= Xmn200m/3=66.6M
-XX:SurvivorRatio=1
#设置并发收集器
-XX:+UseConcMarkSweepGC
#设置年轻代为并行收集
-XX:+UseParNewGC
#降低标记停顿
-XX:+CMSParallelRemarkEnabled
#在FULL GC的时候, 对年老代的压缩
-XX:+UseCMSCompactAtFullCollection
#多少次后进行内存压缩 由于并发收集器不对内存空间进行压缩,整理,所以运行一段时间以后会产生"碎片",使得运行效率降低.此值设置运行多少次GC以后对内存空间进行压缩,整理.
-XX:CMSFullGCsBeforeCompaction=0
-XX:+CMSClassUnloadingEnabled
#内存页的大小不可设置过大, 会影响Perm的大小
-XX:LargePageSizeInBytes=128M
#原始类型的快速优化
-XX:+UseFastAccessorMethods
#使用手动定义初始化定义开始CMS收集 禁止hostspot自行触发CMS GC
-XX:+UseCMSInitiatingOccupancyOnly
#(Xmx-Xmn)*(100-CMSInitiatingOccupancyFraction)/100>=Xmn 就不会出现promotion failed
-XX:CMSInitiatingOccupancyFraction=80
#每兆堆空闲空间中SoftReference的存活时间 一般为0
-XX:SoftRefLRUPolicyMSPerMB=0
#garbage collects before printing the histogram.
-XX:+PrintClassHistogram
#GC 输出的形式
-XX:+PrintGCDetails
#GC 输出的形式 可与 -XX:+PrintGC -XX:+PrintGCDetails混合使用
-XX:+PrintGCTimeStamps
#打印GC前后的详细堆栈信息
-XX:+PrintHeapAtGC
#把相关日志信息记录到文件以便分析.
-Xloggc:log/gc.log
参考 配置收集器,
https://blog.csdn.net/wfh6732/article/details/57422967?utm_source=itdadao&utm_medium=referral
JVM 调优参数设置的更多相关文章
- JVM调优参数设置?
-Xms20M 表示设置堆容量的最小值为20M,必须以M为单位 -Xmx20M 表示设置堆容量的最大值为20M,必须以M为单位.将-Xmx和-Xms设置为一样可以避免堆自动扩展.大的项目-Xmx和-X ...
- JVM调优参数、方法、工具以及案例总结
这种文章挺难写的,一是JVM参数巨多,二是内容枯燥乏味,但是想理解JVM调优又是没法避开的环节,本文主要用来总结梳理便于以后翻阅,主要围绕四个大的方面展开,分别是JVM调优参数.JVM调优方法(流程) ...
- 生产环境下JVM调优参数的设置实例
JVM基础:生产环境参数实例及分析 原始配置: -Xms128m -Xmx128m -XX:NewSize=64m -XX:PermSize=64m -XX:+UseConcMarkSweepGC - ...
- JVM 调优参数详解
GC有两种类型:Scavenge GC 和Full GC 1.Scavenge GC 一般情况下,当新对象生成,并且在Eden申请空间失败时,就会触发Scavenge GC,堆的Eden区域进行GC, ...
- 转: jvm调优参数总结
JVM里的GC(Garbage Collection)的算法有很多种,如标记清除收集器,压缩收集器,分代收集器等等,详见HotSpot VM GC 的种类 现在比较常用的是分代收集(generatio ...
- 常用的JVM调优参数总结汇总【随时查阅学习】
本文章参数根据后期用的参数会持续更新 --- (1)-Xms20M 表示设置JVM启动内存的最小值为20M,必须以M为单位 (2)-Xmx20M 表示设置JVM启动内存的最大值为20M,必须以M为单 ...
- JVM 调优参数解释
典型配置: java -Xmx3800m -Xms3800m -Xmn2g -Xss128k -XX:+UseParallelGC -XX:ParallelGCThreads=20 -XX:+UseP ...
- jvm 调优参数
-server -Xms6000M -Xmx6000M -Xmn500M -XX:PermSize=500M -XX:MaxPermSize=500M -XX:SurvivorRatio=65536 ...
- jvm调优参数
堆溢出测试args:-verbose:gc -Xms20M -Xmx20M -XX:+PrintGCDetails 栈层级不足args:-Xss128k 常量池内存溢出args : -XX:PermS ...
随机推荐
- Vue跨路由触发事件,Vue监听sessionStorage
近来,在做公司的聊天系统,引用的是极光的api.项目需求实时监听别人发过来的消息,进行渲染到页面,还有历史记录也要渲染,历史记录和实时聊天记录返回的结构体还不一样,看到需求的我欲哭无泪,首先登录是在首 ...
- LeetCode 40
// 既然不能重复利用,就在递归中选择下一个数,不能重复的话,就用setclass Solution { public: vector<vector<int>> combina ...
- 64位Ubuntu系统安装OpenCV 2.4.x+ffmpeg 完美解决方案
http://www.bfcat.com/index.php/2012/09/64bits-ubuntu-opencv-2-4-x-ffmpeg/
- 在Indicator中添加动态Checkbox,无需绑定数据源,支持全选 - Ehlib学习(二)
先做设置 DBGrideh属性设置: IndicatorOptions = [gioShowRowIndicatorEh, //小三角指示 gioShowRecNoEh, //数据源行号 gioSho ...
- SQL (FMDB)
sql常用语句 创建表 CREATE TABLE IF NOT EXISTS "T_Person" ( "id" INTEGER NOT NULL PRIMAR ...
- linux查看端口对应的程序及pid
linux中查看特定端口对应的进程以及进程的pid可以使用下面指令: lsof -i:port_number 杀死进程的指令是: kill -s 9 pid
- New Concept English Two 29 79
$课文77 一例成功的手术 829. The mummy of an Egyptian woman who died in 800 B.C. has just had an operation. 死 ...
- 如何在未越狱的ios系统安装ipa文件
首先我们先下载一个PP助手正版在电脑上 用iphone打开http://z.25pp.com/?from=bdpz,根据网页上的教程,我们安装好PP助手正版(注意是正版!!) 将手机连接电脑,在电脑上 ...
- Diffie-Hellman 算法
Diffie-Hellman 算法描述: 目前被许多商业产品交易采用. HD 算法为公开的密钥算法,发明于1976年.该算法不能用于加密或解密,而是用于密钥的传输和分配. DH 算法的安全性 ...
- 用eclipse来运行带参数的命令行程序,配置命令行程序的参数
以上从网上找了点资料:右键点主类名 --> 运行--> 打开运行对话框--> Main(主类)--> 右边Arguments(参数) 点他以后然后在下面Program argu ...