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
相关推荐
anew___11 小时前
《从零手写操作系统 (20):ELF加载器——让OS读懂现代编译器》
java·服务器·前端
code2cat11 小时前
【随笔】MCP资源更新订阅:通知到达以后,Agent怎样刷新旧资料
java·后端·开发工具·ai agent·mcp
一只旭宝12 小时前
C++ 后端开发面试题整理
java·c++·面试
sunshine22 girl12 小时前
Java学习五 面向对象高级5 内部类3-静态内部类和局部内部类(了解)
java·学习
en.en..12 小时前
Linux 进程退出exit(函数)
java·开发语言·算法
李游Leo12 小时前
HarmonyOS 7 TaskPool + Node-API + zstd:Native 批量压缩任务的主线程隔离、进度回传与资源收口【鸿蒙心迹】
java·华为·harmonyos
Light Gao12 小时前
Encoder 与 Decoder 详解:从 Embedding 到 Seq2Seq 的完整数据流
java·开发语言·embedding
程序猿乐锅13 小时前
【黑马点评 | 第十一篇】关注 Feed 流实现
java·数据库·redis·分布式·后端·缓存·maven
开开心心就好13 小时前
图片白底怎么去掉?抠图工具抠完背景透明
java·服务器·开发语言·pdf·ocr·散列表·启发式算法
东方芷兰13 小时前
Agent 技术摘要 05 —— BP、SaaS、B2B、C2B、B2C
java·笔记·python·语言模型·自然语言处理