• JVM常用调优参数以及linux服务器启动项目命令jvm参数调优案例


    我们知道:jvm的内存存储以及内存分配,主要集中在方法区、堆。针对这两块,给出的调优参数如下:

     

    一:调优参数初始化堆大小(有的叫jvm内存): -Xms256M //256M指的是具体大小,初始化堆大小=最大堆大小,可以在一定程度上在GC后重新分配内存

    最大堆大小(有的叫jvm内存):    -Xmx256M  //初始化堆大小=最大堆大小,可以在一定程度上在GC后重新分配内存

    年轻代大小: -Xmn512M //设置堆里面的年轻代大小。整个JVM内存的大小=年轻代+老年代+永久代(jdk1.8之后叫元空间)。永久代一般固定大小64M。所以增大年轻代,减小老年代大小。此值对系统性能影响较大。Sun推荐配置为整个堆的3/8
    元空间初始大小: -XX:MatespaceSize=100M //该值是设置方法区的元空间初始化大小,该值越大,触发GC时间就越晚。

    元空间内存最大值: -XX:MaxMatespaceSize=100M //该值是设置方法区的元空间最大值,如果不设置,默认是系统的 内存大小,设置了,可以限制元空间无限的使用服务器内存,影响其他程序。

    堆栈信息: -XX:OmitStackTraceInFastThrow //这个是用来解决重复异常不打印堆信息的设置。设置了,便会重复打印堆信息



    二:用于启动java的jar包服务的linux命令(后台启动)

    nohup java -server -Xms256M -Xmx256M -Xmn512M -XX:MatespaceSize=64M -XX:MaxMatespaceSize=100M -XX:OmintSackTraceInFastThrow -jar XXX.jar --spring.config.loacal=/xxpath1/xxpath2/ --logging.config=/xxpath1/logback.xml > ${logpath} 2 > &1 &

    优化2:提取中间变量来替代jvm的调优参数:
    
    
    # `pwd` 执行系统命令并获得结果
    BASE_PATH=`pwd`

    # 外部配置文件绝对目录,如果是目录需要/结尾,也可以直接指定文件
    # 如果指定的是目录,spring则会读取目录中的所有配置文件
    CONFIG_DIR=${BASE_PATH}"/config/"
    # 项目日志输出绝对路径
    LOG_DIR=${BASE_PATH}"/logs"
    LOG_FILE="${APPLICATION}.log"
    LOG_PATH="${LOG_DIR}/${LOG_FILE}"
    JAVA_OPT="-server -Xms256m -Xmx256m -Xmn512m -XX:MetaspaceSize=64m -XX:MaxMetaspaceSize=256m"
    JAVA_OPT="${JAVA_OPT} -XX:-OmitStackTraceInFastThrow"

    所以完整命令(注意你的系统是否识别nohup命令,如果不识别,缺少安装插件,网上搜 linux nohup即可):
    nohup java ${JAVA_OPT} -jar XXX.jar --spring.config.location=${CONFIG_DIR} --logging.config=${CONFIG_DIR}logback.xml > ${LOG_PATH} 2>&1 &
  • 相关阅读:
    监考
    初步确定五一粤东出行计划
    煤矿粉尘监控系统中心站软件3层设计
    c# 程序调用代码生成数据库
    Socket 一个服务器监听多个客户端 功能实现
    软件开发进度表
    sql server日期时间格式转换字符串简介
    Sql建表和sql语句的注意事项
    分布式设计与开发(一)宏观概述
    分布式设计与开发(四)数据拆分
  • 原文地址:https://www.cnblogs.com/qq1141100952com/p/15074312.html
Copyright © 2020-2023  润新知