微服务-springcloud一次线上内存优化
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了微服务-springcloud一次线上内存优化,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2005字,纯文字阅读大概需要3分钟。
内容图文
![微服务-springcloud一次线上内存优化](/upload/InfoBanner/zyjiaocheng/923/fcbbfe35e7c74c8896e79a2596822af7.jpg)
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
文章目录
前言
- 当今流行的spring cloud配合docker容器部署可以说是天衣无缝,但是存在一个缺点就是spring
cloud制作的容器镜像比较大以及启动运行占用的内存空间比较大。
一、解决容器打包“体积”大
FROM java:8
VOLUME /tmp
ADD xxxx.jar /app.jar
RUN cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
RUN bash -c 'touch /app.jar'
CMD ["java","-Djava.security.egd=file:/dev/./urandom","-jar", "-Duser.timezone=GMT+08", "/app.jar"]
- 通过选择java:8作为基础镜像,打包出来的images要900M左右,现在在本地打包以及线上部署的效率会很低,同时比较占用磁盘空间
解决:
FROM openjdk:8-jdk-alpine
VOLUME /tmp
ADD xx.jar /app.jar
ENV TZ=Asia/Shanghai
RUN echo "http://mirrors.aliyun.com/alpine/v3.4/main/" > /etc/apk/repositories && apk add --no-cache tzdata && ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime && echo "Asia/Shanghai" > /etc/timezone
RUN set -xe && apk --no-cache add ttf-dejavu fontconfig
ENTRYPOINT java -XX:+PrintFlagsFinal -XX:+UnlockExperimentalVMOptions -XX:+UseCGroupMemoryLimitForHeap $JAVA_OPTS -jar /app.jar
- 采用alpine作为基础镜像,可以大大减小容器体积问题
二、解决运行内存占用大
- 这里使用IBM的openjdk8-openj9进行问题解决,现在是IBM已经捐献给eclipse
FROM adoptopenjdk/openjdk8-openj9:alpine-slim
VOLUME /tmp
ADD xx.jar /app.jar
ENV TZ=Asia/Shanghai
RUN echo "http://mirrors.aliyun.com/alpine/v3.12/main/" > /etc/apk/repositories && apk add --no-cache procps curl bash tzdata && ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime && echo "Asia/Shanghai" > /etc/timezone
RUN set -xe && apk --no-cache add ttf-dejavu fontconfig
ENTRYPOINT java -XX:+PrintFlagsFinal -XX:+UnlockExperimentalVMOptions -XX:+UseCGroupMemoryLimitForHeap $JAVA_OPTS -Xshareclasses -Xquickstart -jar -Duser.timezone=Asia/Shanghai /app.jar
- alpine-slim为精简版,其中安装的jdk会缺少相关的监控工具如jstat,jmap,如果需要这里工具,将alpine-slim替换成alpine
- 最终内存占用可以减少百分之60左右,具体根据实现业务功能情况来定
内容总结
以上是互联网集市为您收集整理的微服务-springcloud一次线上内存优化全部内容,希望文章能够帮你解决微服务-springcloud一次线上内存优化所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。