设置tomcat内存设定


Linux:

    在/usr/local/apache-tomcat-5.5.23/bin 目录下的catalina.sh添加:

    JAVA_OPTS='-Xms512m -Xmx1024m'要加“m”说明是MB,否则就是KB了,在启动tomcat时会 报内存不足。

    -Xms:初始值-Xmx:最大值-Xmn:最小值

说了这么理论知识不如直接来点儿实在的,下面贴出我的tomcat JVM调优参数并对参数做出介绍:

此配置仅是测试,非正式环境配置,请自行根据项目情况进行配置

JAVA_OPTS="-Xms1024m -Xmx1024m -Xmn384m -Xss256k -XX:MaxGCPauseMillis=100 -XX:+UseConcMarkSweepGC -XX:CMSInitiatingOccupancyFraction=80 -XX:+UseCMSCompactAtFullCollection -XX:CMSFullGCsBeforeCompaction=0  -Djava.awt.headless=true"


各项参数介绍:
-Xmx1024m:设置JVM最大可用内存为1024M。 
-Xms1024m:设置JVM促使内存为1024m。此值可以设置与-Xmx相同,以避免每次垃圾回收完成后JVM重新分配内存。 
-Xmn384m:设置年轻代大小为384m。整个堆大小=年轻代大小 + 年老代大小 + 持久代大小。持久代一般固定大小为64m,所以增大年轻代后,将会减小年老代大小。此值对系统性能影响较大,Sun官方推荐配置为整个堆的3/8-Xss256k:设置每个线程的堆栈大小。JDK5.0以后每个线程堆栈大小为1M,以前每个线程堆栈大小为256K。更具应用的线程所需内存大小进行调整。在相同物理内存下,减小这个值能生成更多的线程。但是操作系统对一个进程内的线程数还是有限制的,不能无限生成,经验值在3000~5000左右。
-XX:MaxGCPauseMillis=100:每次年轻代垃圾回收的最长时间(最大暂停时间)单位是毫秒
-XX:+UseConcMarkSweepGC:设置年老代为并发收集。
-XX:CMSInitiatingOccupancyFraction=80: 使用cms作为垃圾回收使用80%后开始CMS收集
-XX:+UseCMSCompactAtFullCollection:打开对年老代的压缩。可能会影响性能,但是可以消除碎片 
-XX:CMSFullGCsBeforeCompaction=0:由于并发收集器不对内存空间进行压缩、整理,所以运行一段时间以后会产生“碎片”,使得运行效率降低。此值设置运行多少次GC以后对内存空间进行压缩、整理。 

优质内容筛选与推荐>>
1、Designing Efficient Algorithms [Examples]~C - Calculator Conundrum
2、编hadoop-1.X源代码
3、adb进阶知识,如何过滤只查看某一个app的日志
4、.Net Core CLI–Ubuntu 14安装
5、我的JQuery学习记录,今天学习创建table数据表


长按二维码向我转账

受苹果公司新规定影响,微信 iOS 版的赞赏功能被关闭,可通过二维码转账支持公众号。

    阅读
    好看
    已推荐到看一看
    你的朋友可以在“发现”-“看一看”看到你认为好看的文章。
    已取消,“好看”想法已同步删除
    已推荐到看一看 和朋友分享想法
    最多200字,当前共 发送

    已发送

    朋友将在看一看看到

    确定
    分享你的想法...
    取消

    分享想法到看一看

    确定
    最多200字,当前共

    发送中

    网络异常,请稍后重试

    微信扫一扫
    关注该公众号





    联系我们

    欢迎来到TinyMind。

    关于TinyMind的内容或商务合作、网站建议,举报不良信息等均可联系我们。

    TinyMind客服邮箱:support@tinymind.net.cn