zoukankan      html  css  js  c++  java
  • Centos7-低配情况下 Tomcat jvm内存溢出优化配置及JVM参数说明

    很多同学刚开始做项目买了最低配置,但有时运行软件好几个,服务器就趴下来,以我的经验可以这么搞,尽量运行必须要用的软件,2G内存能干什么,所以还可以优化软件本身,让启动时尽可能少占用内存空间,等用户上来再升级配置也不迟。

    TOMCAT优化
    tomcat7默认内存配置,启动后,大约会占四百多M内存,如果是java程序又比较大,可能会出现以下问题:
    java.lang.OutOfMemoryError: Java heap space ----JVM Heap(堆)溢出
    java.lang.OutOfMemoryError: PermGen space ---- PermGen space溢出。
    java.lang.StackOverflowError ---- 栈溢出
    解决办法:
    修改tomcat/bin/catalina.sh
    位置cygwin=false前。

    JAVA_OPTS="-server -Xms256m -Xmx512m -XX:PermSize=64M -XX:MaxPermSize=128m"

    JVM参数说明:

    -server:一定要作为第一个参数,在多个CUP时性能佳

    -Xms:java Heap初始化大小。默认物理内存的1/64

    -Xmx:java Heap最大值。建议平均物理内存的一般。不可超过物理内存。

    -XX:PermSize:设定内存的永久保存区初始化大小,缺省为64M

    -XX:MaxPermSize:设定内存的永久保存区最大大小,缺省委64M、

    -XX:SurvivorRatio=2:生还者池的大小,默认是2,如果垃圾回收变成了瓶颈,您可以尝试定值生成池设置

    -XX:NewSize:新生成的池初始化大小,缺省为2M。

    -XX:MaxNewSize:新生成的池最大大小。缺省为32M。

    这参数让JVM忽略Xmx参数,疯狂地吃完一个G物理内存,再吃尽1个G的swap。

    -Xss:每个线程的Stack大小,-Xss 15120这使得JBoss没增加一个线程就会消耗15M内存,而最佳值应该是128k,默认512k

    -verbose:gc 实现垃圾回收信息

    -Xloggc:gc.log指定垃圾收集日志文件

    -Xmn:young generation的heap大小,一般设置为Xmx的3,4之一

    -XX:+UseParNewGC:所短minor收集的时间

    -XX:+UserConcMarkSweepGC:所短major收集的时间 次选项在Heap Size比较大而且Major收集较长的情况下使用更合适。

    -XX:userParNewGC 可用来设置多个并行收集

    -XX:ParallelGCThreads可用来增加并行度

    -XX:UseParallelGC设置后可以使用并行清理收集器

    -XX:+UseBiasedLocking非竞争性的同步选项,锁机制的性能改善。

    -XX:+DisableExplicitGC 禁止System.gc(),免得程序员误调用gc方法影响性能。

    -XX:MaxTenuringThreshold 为放置所有的复制全部发生以及希望对象从eden扩展到旧域,可以把MaxTenuring Threshold设置成0。设置完成后,实际上就不再使用救助空间了,因此应把SurvivorRatio设成最大值以最大化Eden空间,设置如下:

    -XX:+UseParNewGC 对年轻代采用多线程并行回收,这样收得快。

    -XX:+CMSParallelRemarkEnabled 在使用UseParNewGC 的情况下, 尽量减少 mark 的时间

    -XX:LargePageSizeInBytes 指定 Java heap的分页页面大小

    -XX:MaxTenuringThreshold 设置垃圾最大年龄。

    这世上所有美好的东西,都需要踮起脚尖。
  • 相关阅读:
    hdu 5007 水题 (2014西安网赛A题)
    hdu 1698 线段树(成段替换 区间求和)
    poj 3468 线段树 成段增减 区间求和
    hdu 2795 公告板 (单点最值)
    UVaLive 6833 Miscalculation (表达式计算)
    UVaLive 6832 Bit String Reordering (模拟)
    CodeForces 124C Prime Permutation (数论+贪心)
    SPOJ BALNUM (数位DP)
    CodeForces 628D Magic Numbers (数位DP)
    POJ 3252 Round Numbers (数位DP)
  • 原文地址:https://www.cnblogs.com/XMYG/p/14640749.html
Copyright © 2011-2022 走看看