• Tomcat性能调优


    window修改catalina.sh(如果是linux 系统则修改catalina.sh文件)中JAVA_OPS参数如下:

    -Djava.awt.headless=true#使用java-PJA处理图片

    -Djava.net.preferIPv4Stack=true#在支持 IPv4 映射地址的 IPv6 网络堆栈中可以使用 IPv6 套接字来连接到 IPv4 和 IPv6 主机以及接受来自这些主机的连接。

    -Dcom.tc.productkey.path=/opt/tomcat/terracotta-license.key#BigMemory启用本地缓存避免触发gc,存放地址

    -Dlocal.ip=10.10.4.35#本机ip

    -Djava.util.Arrays.useLegacyMergeSort=true#兼容老版本中的排序算法

    -Djava.rmi.server.hostname=10.10.4.35#配置RMI监控,多网卡的服务器开启RMI时指定IP用

    -Dcom.sun.management.jmxremote#打开tomcat jmx支持

    -Dcom.sun.management.jmxremote.port=1199#指定jmx端口号

    -Dcom.sun.management.jmxremote.ssl=false#设置不支持ssl

    -Dcom.sun.management.jmxremote.authenticate=false#设置不需要身份验证

    -server

    -Xmx8g#设置最大堆大小

    -Xms8g#设置初始堆大小

    -Xmn1024m#年轻代大小 整个JVM内存大小=年轻代大小 + 年老代大小 + 持久代大小

    -XX:SurvivorRatio=64m#设置年轻代中持久化区与幸存者区的比值

    -XX:MetaspaceSize=256m#设置本地内存分配给类元数据的大小

    -XX:MaxMetaspaceSize=256m#限制本地内存分配给类元数据的最大上限

    -Xss256k#设置每个线程堆栈的大小,值小线程多,值大线程少

    -XX:MaxDirectMemorySize=2G#BigMemory启用本地缓存避免触发gc,最大2G

    -XX:+HeapDumpOnOutOfMemoryError#当发生内存溢出时,保存当前堆盗一个文件中,方便日后排查

    -XX:+PrintGCDetails #打印GC发生的详细信息

    -XX:+PrintGCDateStamps #打印GC发生的时间信息

    -Xloggc:/opt/tomcat/logs/gc.log #日志产生的路径

    -XX:+UseGCLogFileRotation #启用GC日志文件的自动转储

    -XX:NumberOfGCLogFiles=5 #GC日志文件的循环数目

    -XX:GCLogFileSize=50M #GC日志文件大小

    -XX:HeapDumpPath=/opt/tomcat/logs/java.hprof#指定堆的存放路径

    -XX:+DisableExplicitGC#禁止代码手动调用gc

    -XX:+UseConcMarkSweepGC#设置并发收集器

    -XX:+CMSParallelRemarkEnabled#降低标记停顿

    -XX:+CMSConcurrentMTEnabled#使用并发的CMSGC收集器

    -XX:+UseCMSCompactAtFullCollection#使用并发收集器时,开启对年老代的压缩

    -XX:CMSFullGCsBeforeCompaction=1 #上面配置开启的情况下这里设置多少次Full GC后,对年老代进行压缩

    -XX:LargePageSizeInBytes=64m#内存分页-单个页大小设置-即设置大内存分页

    -XX:+UseFastAccessorMethods#快速优化-启用原始类型的getter方法优化

    -XX:+UseCMSInitiatingOccupancyOnly#设置CMSGC收集器一直处于运行

    -XX:CMSInitiatingOccupancyFraction=70#设置CMSGC70%占满时进行垃圾回收

    -XX:-OmitStackTraceInFastThrow#当JVM检测到程序再重复抛异常时,在执行若干次后吞掉该异常.指定后禁用

    -XX:+PrintCommandLineFlags#打印配置到日志文件上

    -XX:+UnlockCommercialFeatures#开启JFR,启用资源管理,开启J2SE商业特性

    -XX:+FlightRecorder#开启JFR

  • 相关阅读:
    查找代码行数和查看域名版本
    iOS10里的通知与推送
    计算有多少个岛屿
    java.lang.NoClassDefFoundError: Could not initialize class com.haoyao.shop.common.XXX
    Windows 版本Mongodb 启动
    安装第三方库 报错Python version 2.7 required, which was not found in the registry
    Python 爬虫 报错 403 HTTP Error 403: Forbidden
    廖雪峰 练习 把用户输入的不规范的英文名字,变为首字母大写,其他小写的规范名字
    利用Python 2.7打印杨辉三角
    MAVEN实战 读书笔记 第二章
  • 原文地址:https://www.cnblogs.com/hq233/p/12010669.html
Copyright © 2020-2023  润新知