JVM参数调优总结 -Xms -Xmx

 

“-Xmx1024m -Xms1024m -Xmn512m -Xss256k”——Java运行参数(转)
JVM的堆的内存, 是通过下面面两个参数控制的 

-Xms 最小堆的大小, 也就是当你的虚拟机启动后, 就会分配这么大的堆内存给你 
-Xmx 是最大堆的大小 

当最小堆占满后,会尝试进行GC,如果GC之后还不能得到足够的内存(GC未必会收集到所有当前可用内存),分配新的对象,那么就会扩展堆,如果-Xmx设置的太小,扩展堆就会失败,导致OutOfMemoryError错误提示。

实际上,细节不止于此, 堆还会被分成几个不同的区域,分别应用不同的GC算法 

google到了一篇博文,贴出来,漫漫看:http://unixboy.javaeye.com/blog/174173

减少JAVA GC:https://www.cnblogs.com/zxf330301/p/5366404.html

jvm自带:jvisualvm

dump文件copy:

scp root@sh-nh-b2-XXXX:/var/log/jstack/barrage-service_20200402224114465725715.dmp ./

scp root@114.80.XX:./barrage-service_20200402224114465725715.dmp /Users/xmly/Documents

jvm参数以及清理算法图解:https://www.cnblogs.com/andy-zhou/p/5327288.html

调整jvisualvm内存使用大小:/Library/Java/JavaVirtualMachines/jdk1.8.0_181.jdk/Contents/Home/lib/visualvm/etc/visualvm.conf

JVM调优堆栈dump分析工具:https://www.iteye.com/blog/pengjiaheng-552456

服务启动配置:

-Djava.util.logging.config.file=/usr/local/webserver/XXXe/conf/logging.properties;-Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager;-XX:MetaspaceSize=256M;-XX:MaxMetaspaceSize=256M;-Xms5g;-Xmx5g;-Xmn2g;-Xss256k;-XX:SurvivorRatio=8;-XX:MaxTenuringThreshold=8;-XX:ParallelGCThreads=8;-XX:+UseConcMarkSweepGC;-XX:+UseParNewGC;-XX:+DisableExplicitGC;-XX:+CMSParallelRemarkEnabled;-XX:+CMSClassUnloadingEnabled;-XX:CMSInitiatingOccupancyFraction=70;-XX:CMSFullGCsBeforeCompaction=5;-XX:+UseCMSCompactAtFullCollection;-XX:+CMSScavengeBeforeRemark;-XX:+HeapDumpOnOutOfMemoryError;-Xloggc:/var/log/barrage-service/gc.log;-XX:+UseGCLogFileRotation;-XX:NumberOfGCLogFiles=10;-XX:GCLogFileSize=10M;-XX:+PrintGCDetails;-XX:+PrintGCDateStamps;-XX:+PrintGCApplicationStoppedTime;-XX:+PrintGCApplicationConcurrentTime;-Dcom.sun.management.jmxremote.password.file=/usr/local/webserver/b-service/conf/jmxremote.password;-Dcom.sun.management.jmxremote.access.file=/usr/local/webserver/b-service/conf/jmxremote.access;-Dcom.sun.management.jmxremote.ssl=false;-XX:+CMSConcurrentMTEnabled;-XX:+ExplicitGCInvokesConcurrent;-XX:HeapDumpPath=/usr/local/webserver/b-service/logs/barrage-service.hprof;-javaagent:/opt/jars/aspectjweaver-1.8.9.jar;-Djava.security.egd=file:/dev/./urandom;-XX:+AlwaysPreTouch;-XX:-UseBiasedLocking;-Djdk.tls.ephemeralDHKeySize=2048;-Djava.protocol.handler.pkgs=org.apache.catalina.webresources;-Djava.endorsed.dirs=/usr/local/webserver/b-service/endorsed;-Dcatalina.base=/usr/local/webserver/b-service;-Dcatalina.home=/usr/local/webserver/b-service;-Djava.io.tmpdir=/usr/local/webserver/b-service/temp;
JVM调优总结 -Xms -Xmx -Xmn -Xss
堆大小设置
JVM 中最大堆大小有三方面限制:相关操作系统的数据模型(32-bt还是64-bit)限制;系统的可用虚拟内存限制;系统的可用物理内存限制。32位系统下,一般限制在1.5G~2G;64为操作系统对内存无限制。我在Windows Server 2003 系统,3.5G物理内存,JDK5.0下测试,最大可设置为1478m。
典型设置:
java -Xmx3550m -Xms3550m -Xmn2g -Xss128k
-Xmx3550m:设置JVM最大可用内存为3550M。
-Xms3550m:设置JVM促使内

  • 1
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值