docker - Spring Boot消耗过多的RAM

标签 docker spring-boot

我在 Spring 启动中创建了一些服务,我有11个胖jar,并将它们部署在docker容器中,我的疑问是每个jar都消耗了1到1.5 GB的RAM,而没有任何使用,我通过运行以下命令检查RAM:

docker stats containername

起初我以为是Java容器,所以我尝试更改为使用alpine的容器,但没有任何变化,所以我认为唯一的问题是我的jar。有没有办法更改jar正在使用的RAM?还是这种行为是正常的,因为每个jar都有一个嵌入式的tomcat?或者将一些 jar 放在一起作为 war 部署并且只将一个tomcat用于一组“ jar ”也许更好?有人可以分享他/她的经验吗?,

提前致谢。

最佳答案

您可以使用-e JAVA_OPTS="-Xmx64M -Xms64M"设置docker容器的内存使用率。

docker 文件:

FROM openjdk:8-jre-alpine
VOLUME ./mysql:/var/lib/mysql
ADD /build/libs/application.jar app.jar
ENTRYPOINT exec java $JAVA_OPTS -Djava.security.egd=file:/dev/./urandom -jar /app.jar

图像运行:
 docker run -d --name container-name -p 9100:9100 -e JAVA_OPTS="-Xmx512M -Xms512M"   imagename:tag

在这里,我设置了512Mb的内存使用率。您可以设置1g或根据您的要求。使用此命令运行后,检查您的内存使用情况。最高可达512Mb。

关于docker - Spring Boot消耗过多的RAM,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51768216/

相关文章:

azure - 我是否需要 SSH 隧道来使用完整 CI/CD 管道从 Windows Server 2016 部署 Docker 容器

docker - Kubernetes消耗更多的内存,为什么?

linux - 在 RHEL 上安装 Docker 时出现错误

java - AngularJs $http.post 到 Spring Boot?

docker - 声明性管道中的 Jenkins docker 代理 : file not found

docker - 轮询成功,但 Xdebug 尝试从 docker 容器连接到 PhpStorm 时出现错误 : Operation now in progress (29).

mongodb - java.lang.NoSuchMethodError : com. mongodb.client.MongoCollection.insertOne 将条目插入到 Javers Mongodb 集合时出现异常

spring-boot - 使用 Spring Boot 的 AOP

java - 将json对象转换为java对象

java - 如何指定statsd客户端端口?