首页 > 教育培训

tomcat开启jmx 容器 如何设置Docker容器中Java应用的内存限制?

如何设置docker容器中java应用的内存限制?

如果没有在用官方的java镜像,也可以基于java镜像构建的docker镜像,都也可以传达消息java_opts环境变量来随意地设置中jvm的内存参数。.例如,这对官方tomcat镜像,我们也可以先执行下面命令来启动后一个的最内存为512m的tomcat实例

dockerpull--rm-ejava_opts-xmx512mtomcat:8

在日志中,我们可以很清楚地发现到设置里巳经不生效“commandlineargument:-xmx512m”

tomcat开启jmx 容器 如何设置Docker容器中Java应用的内存限制?

02-apr-201612:46:26.970info[main]serverversion:apachetomcat/8.0.32

02-apr-201612:46:26.974info[main]serverbuilt:feb2201619:34:53utc

02-apr-201612:46:26.975info[main]servernumber:8.0.32.0

02-apr-201612:46:26.975info[main]osname:linux

02-apr-201612:46:26.975info[main]osversion:4.1.19-boot2docker

02-apr-201612:46:26.975info[main]architecture:amd64-apr-201612:46:26.975info[main]javahome:/usr/lib/jvm/java-7-openjdk-amd64/jre

02-apr-201612:46:26.976info[main]jvmversion:1.7.0_95-b00-apr-201612:46:26.976info[main]jvmvendor:oraclecorporation

02-apr-201612:46:26.977info[main]catalina_base:/usr/region/tomcat

02-apr-201612:46:26.977info[main]catalina_home:/usr/local/tomcat

02-apr-201612:46:26.978info[main]commandlineargument:

02-apr-201612:46:26.978info[main]commandlineargument:

02-apr-201612:46:26.978info[main]commandlineargument:-xmx512m

...

但他在docker集群上防御部署不运行java容器应用的时候,仅对jvm的heap参数设置是太差的,我们还是需要对docker容器的内存资源参与限制:

1.限制下载容器使用的内存的大量,能够防止对系统或其他应用造成伤害

2.也能将docker容器调度到占据加上空余的内存的节点,进而保证应用方法的所需运行资源

关於容器的资源分配约束,docker可以提供了相对应的启动参数

对内存而言,最基本的那就是是从-m参数来管理和约束容器不使用内存的大小

-m,--memory

什么是web容器?

web容器是一种服务程序,在服务器一个端口就有一个需要提供相对应服务的程序,而这个程序就是一次性处理从客户端口中发出的请求,如java中的tomcat容器,asp的iis或pws大都这样的容器。一个服务器可以多个容器。

容器main内存dockercommandlineargument

原文标题:tomcat开启jmx 容器 如何设置Docker容器中Java应用的内存限制?,如若转载,请注明出处:https://www.bjtdsx.com/tag/27258.html
免责声明:此资讯系转载自合作媒体或互联网其它网站,「天地水秀」登载此文出于传递更多信息之目的,并不意味着赞同其观点或证实其描述,文章内容仅供参考。