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
相关推荐
2301_32241428042 分钟前
基于SpringBoot+Vue的休闲零食超市管理系统的设计与实现59004-计算机毕设 原创(免费领源码+部署教程+开发环境)
java·vue.js·spring boot·redis·mysql·决策树·推荐算法
金銀銅鐵2 小时前
[Java] 用 GUI 展示 EnumSet 增减元素时的内部变化(上)
java·后端·ai编程
福建佰胜张工3 小时前
SMC 薄型气爪 MHF2-16D1 深度解析:平行开闭、低剖面结构在自动化装配中的选型与落地
java·服务器·安全·自动化
catoop3 小时前
API Key 设计与安全生成方案:结构拆解、数据库设计与 Java 实现
java·数据库·安全
system_error_x3 小时前
SpringBoot 集成 Thymeleaf 简洁入门
java·spring boot·后端
驭渊的小故事4 小时前
Spring AI Alibaba 实战:从maven依赖治理到声明式工具调用
java·人工智能·spring
Elastic 中国社区官方博客4 小时前
我们如何通过 70 多个拉取请求,将 OpenTelemetry Java agent 迁移到 invokedynamic
java·大数据·开发语言·elasticsearch·搜索引擎·全文检索·es
tyn1884 小时前
记录本地安装nacos服务的方法及异常
java·开发语言
步行cgn5 小时前
Spring MVC 视图机制的核心接口与类
java·开发语言·后端·spring·mvc
y1su5 小时前
Leetcode 字符串模板
java·数据结构·算法·leetcode·职场和发展·动态规划