JVM内存优化-jemalloc

一、修改描述问价

manifest中添加jemalloc

yaml 复制代码
autodeploy:
    hulkos: centos7 #使用centos7镜像作为运行时基础镜像
    tools:
      mt_oraclejdk: 17
      jemalloc:# 可以指定版本也可以什么都不写
    targetDir: /opt/meituan/apps/waimai_service_productquery_server/work
    run: sh deploy/run.sh
    check: sh /opt/meituan/apps/waimai_service_productquery_server/work/deploy/check.sh
    checkRetry: 70 #后面下掉,加默认值为1
    checkInterval: 10s #后面下掉

二、脚本根据环境变量加载

run.sh-配置

powershell 复制代码
JEMALLOC_ENV=''
if [[ -f /usr/lib64/libjemalloc.so.2 && "$JEMALLOC_ENABLED" == "true" ]]; then
    JEMALLOC_ENV='env LD_PRELOAD=/usr/lib64/libjemalloc.so.2 MALLOC_CONF=background_thread:true,dirty_decay_ms:600000,muzzy_decay_ms:600000,metadata_thp:always'
    echo "jemalloc 开启: LD_PRELOAD=/usr/lib64/libjemalloc.so.2 MALLOC_CONF=background_thread:true,dirty_decay_ms:600000,muzzy_decay_ms:600000,metadata_thp:always"
fi

run.sh-执行

  • 注意 :$JEMALLOC_ENV 不要放在/usr/local/java17/bin/java后面,不然汇报env启动类找不到
powershell 复制代码
exec $JEMALLOC_ENV /usr/local/java17/bin/java $VM_PARAM -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/var/xxx/logs/appkey.heaperr.log.`date "+%Y%m%d%H%M%S"` -Denvironment=$ENVIRONMENT -Xloggc:/var/xxx/logs/appkey.gc.log.`date "+%Y%m%d%H%M%S"` -Dapp.key=appkey -Dapp.host=$HOST_NAME -Dapp.ip=$HOST_IP -Dapp.port=9000 -Dfile.encoding=utf8 -Dworkdir=$WORKDIR -cp $WORKDIR/classes:`find $WORKDIR/lib -name "*.jar" -printf "%p:"` appkey.boot.Boot >> /var/sankuai/logs/$LOGFILE 2>&1
相关推荐
金銀銅鐵3 小时前
带您看懂字节码指令(二):空循环里有什么
java·后端·ai编程
吴名氏.5 小时前
Java转AI Agent教程(第十三周)混合检索与重排
java·数据库·人工智能·ai·ai agent
.痞老板.6 小时前
java ee--多线程(进阶)
java·java-ee
深入云栈7 小时前
Netty 4.2.x 源码深度解析 (二十三):ByteBuf 核心设计 —— 索引、类型与零拷贝
java·后端·架构
wang_shu_mo_ran8 小时前
MyBatis 从入门到进阶(一)
java·spring·mybatis
量化分析码农10 小时前
股票历史数据的复权参数对照:多级别返回的字段与数值差异
java·javascript·后端
猫猫不是喵喵.10 小时前
从0到1创建一个微服务项目
java·数据库·微服务·1024程序员节
瑞雪兆丰年兮10 小时前
JavaWeb-day13-SpringBootWeb事务管理&AOP
java·开发语言·springboot·javaweb·事务·web·aop
曲径海盗10 小时前
Try-Except怎么用,3个追问解答在自动化下的应用
java·jvm·oracle
Cosolar11 小时前
极简智库:快速搭建你的开源项目教程阅读平台,让 docs/ 目录被更多人看见
java·架构·github