服务器上jvm启动参数在哪里配置 jvmcms参数设置?
jvmcms参数设置?
Xms设置中堆的最大时空间大小。
-Xmx设置中堆的的最空间大小。
-XX:NewSize设置里新生代大于空间大小。
-XX:MaxNewSize系统设置新生代比较大空间大小。
-XX:PermSize可以设置永久代最小空间大小。
-XX:MaxPermSize设置中无限制代的最空间大小。
-Xss设置每个线程的堆栈大小。
jvm调优的六个步骤?
步骤1:分析什么GC日志及dump文件,确认是否需要要优化系统,确认瓶颈问题点;
步骤二:确定JVM调优量化目标;
步骤3:确定JVM调优参数(依据什么历史JVM参数来按照);
第6步:调优一台服务器,对比仔细观察调优前后的差异;
第8步:断的的分析和调整,等他找不到比较合适的JVM参数配置;
第5步:不能找到最最合适的参数,将这些参数应用到所有服务器,并接受定期跟踪。
内存溢出错误怎么解决?
影起内存不足、内存溢出的原因有很多种,最常见的一种的有100元以内几种:
1.内存中打开程序的数据量实在是太庞大无比,如一次从数据库收起太多数据;
2.集合类中有对对象的语句,在用完后未全部删除,以至于JVM没法回收二手;
3.代码中必然死重复运行或循环产生过于乱词的对象实体;
4.不使用的第三方软件中的BUG;
5.正常启动参数内存值设定好的过小;
程序报错的解决方案:
第一步,修改JVM启动后参数,然后提高内存。(-Xms,-Xmx参数是有不要忘记加。)
第二步,检查出现错误日志,一栏“OutOfMemory”错误前是否有其它异常或错误。
第四步,对代码进行走查和分析,看出可能发生内存溢出的位置。
拉网式排查以下几点:
1.检查对数据库查询中,如何确定有四次完成任务全部数据的查询。一般来说,如果第二次取十万条记录信息到内存,就肯定过多内存分配。这个问题都很隐蔽,在登陆游戏前,数据库中数据相对较少,不容易出问题,下线后,数据库中数据多了,第二次可以查询就有可能影响到程序报错。所以相对于数据库去查询注意需要分页的可以查询。
2.检查代码中如何确定有死运行或递归算法内部函数。
3.检查如何确定有大循环重复产生新对象实体。
4.检查对数据库查询中,是否是有四次额外全部数据的查询。一般来说,要是四次取十万条记录信息到内存,就可能会过多内存泄漏。这个问题比较好隐蔽点,在上线前,数据库中数据较少,比较容易出问题,下线后,数据库中数据多了,一次网站查询就有可能影起内存溢出。所以这对数据库可以查询最好不要采用分页的网上查询。
5.检查List、MAP等整数集对象如何确定有不使用完后,未清除的问题。List、MAP等子集对象会仍然存有对对象的语句,以至于这些对象没法被GC回收二手。
第四步,在用内存查找工具动态一栏内存不使用情况。
版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。