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
相关推荐
吃饱了得干活1 小时前
Redisson 进阶实战:看门狗机制与分布式锁完全指南
java·redis·后端
淘源码d1 小时前
基于Java开发的上门家政系统源码,采用SpringBoot+MySQL+UniApp+Vue3技术栈,构建三端一体化平台
java·源码·上门家政·家政系统·同城家政·源码部署
Wang's Blog1 小时前
Java框架快速入门: Spring Security+OAuth2之多因子认证逻辑与实体类改造
java·开发语言·spring
ashiho1 小时前
【Spring】RequestParam/PathVariable/RequestBody详解
java·后端·spring·servlet·springmvc
Escalating_xu1 小时前
【mmap 进程间通信】从共享内存到跨进程唤醒:用互斥锁、条件变量控制多个进程
java·linux·开发语言·jvm
泡海椒2 小时前
脚本包导入实战:JQuick-Java自定义包引入与别名配置教程
java·开发语言·python
隐退山林2 小时前
JavaEE进阶:SpringBoot统一功能处理
java·spring boot·后端
雪落漂泊2 小时前
C++智能指针
开发语言·jvm·c++
木井巳2 小时前
【记忆化搜索】斐波那契数
java·算法·leetcode·深度优先·剪枝·推荐算法