大數(shù)據(jù)怎么入門學(xué)習(xí)好?
要入門大數(shù)據(jù),首先要學(xué)會javas
如何設(shè)置Docker容器中Java應(yīng)用的內(nèi)存限制?
如果使用官方的Java映像或者基于Java映像的Docker映像,那么通過傳遞JAVA_OPTS環(huán)境變量就可以很容易地設(shè)置JVM的內(nèi)存參數(shù)。例如,對于正式的tomcat映像,我們可以執(zhí)行下面的命令來啟動(dòng)一個(gè)最大內(nèi)存為512M的Tomcat實(shí)例。
dockerrun-RM-eJAVA_OPTS-xmx512mtomcat:8
在日志中,我們可以清楚地發(fā)現(xiàn)設(shè)置已經(jīng)生效"命令行參數(shù):-xmx512m"。
02-Apr-201612:46:26.970INFO【主】服務(wù)器v:ApacheTomcat/8.0.32
02-Apr-201612:46:26.974INFO[main]服務(wù)器built:2016年2月2日19:34:53UTC
02-Apr-201612:46:26.975INFO【主】服務(wù)器numb:8.0.32.0
02-Apr-201612:46:26.975INFO【主】OSNam:Linux
02-Apr-201612:46:26.975信息[主]操作系統(tǒng)V:4.1.19-boot2dock:46:26.975信息【主】Architectur:amd64
02-Apr-201612:46:26.975INFO[main]JavaHom:/usr/lib/JVM/Java-7-op:46:26.976INFO【主】JVMV:1.7.0_95-b00
02-Apr-201612:46:26.976信息【主】JVMV:甲骨文公司
02-Apr-201612:46:26.977信息【主】CATALINA_BAS:/usr/local/Tomcat
02-Apr-201612:46:26.977信息【主】CATALINA_HOM:/usr/local/Tomcat
02-Apr-201612:46:26.978INFO[main]命令行argum:
02-Apr-201612:46:26.978INFO[main]命令行argum:
02-Apr-201612:46:26.978INFO[main]命令行argum:-xmx512m
...
但是,在Docker集群上部署和運(yùn)行Java容器應(yīng)用時(shí),僅僅設(shè)置JVM的堆參數(shù)是不夠的,我們還需要限制Docker容器的內(nèi)存資源:
1.限制容器使用的最大內(nèi)存量,以防止損壞系統(tǒng)或其他應(yīng)用程序。
容器可以被調(diào)度到一個(gè)有足夠空閑內(nèi)存的節(jié)點(diǎn)上,從而保證應(yīng)用程序所需的運(yùn)行資源。
關(guān)于容器的資源分配約束,Docker提供了相應(yīng)的啟動(dòng)參數(shù)。
對于內(nèi)存,最基本的是通過-m參數(shù)限制容器使用的內(nèi)存大小。
-m,-內(nèi)存