使用IBM JDK(OpenJ9) 降低 JVM 内存占用

归云
归云
发布于 2021-10-27 / 2485 阅读
0
0

使用IBM JDK(OpenJ9) 降低 JVM 内存占用

作为Java开发者,想将自己写的程序部署到自己的服务器上面,是个很头疼的事。

因为Java程序启动后,随随便便都需要0.5G甚至1G左右,而自己买的服务器大多都是1G或者2G的小内存主机,启动一个Java项目和一个数据库,服务器内存就满了。

这是可以试着使用OpenJ9 JVM,不仅内存能大幅度降低占用内存,还能加快启动时间

OpenJ9

OpenJ9是一种高性能、可扩展的Java虚拟机(JVM)实现。它原本是IBM Java开发工具包的一部分,许多基于Java的大型系统的企业级,生产级使用它作为组件。目前它由IBM贡献给Eclipse Foundation。OpenJ9是当前在OpenJDK中最常用的Hotspot JVM的替代产品。简单地说,OpenJ9 是一个 JVM 替代方案,可将其作为 OpenJDK 二进制文件的一部分。

测试

FROM ibmjava:jre
MAINTAINER i@guiyunweb.com
ARG JAR_FILE=start/target/*.jar
RUN mkdir /opt/shareclasses
RUN mkdir /opt/app
COPY ${JAR_FILE} /opt/app/japp.jar
CMD ["java", "-Xshareclasses:cacheDir=/opt/shareclasses", "-jar", "/opt/app/japp.jar"]
FROM openjdk:8-jdk-alpine
MAINTAINER i@guiyunweb.com
ARG JAR_FILE=start/target/*.jar
COPY ${JAR_FILE} app.jar
ENTRYPOINT ["java","-jar","/app.jar"]

比较结果

测试的结果内存降低了80%左右

jdk

但个人使用后感觉,虽然内存占用小了,但性能明显感觉比openjdk差了很多,不过对于自己的个人项目,还是挺不错的


评论