• 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

  • 相关阅读:
    *args和**kwargs
    事件驱动模型
    同步异步和阻塞非阻塞
    多进程和多线程
    认识tornado(五)
    认识tornado(四)
    认识tornado(三)
    [GO]使用select实现超时
    [GO]使用select实现斐波那契
    [GO]ticker的使用
  • 原文地址:https://www.cnblogs.com/eason-d/p/8657427.html
Copyright © 2020-2023  润新知