大數據怎么入門學習好?
要入門大數據,首先要學會javas
如何設置Docker容器中Java應用的內存限制?
如果使用官方的Java映像或者基于Java映像的Docker映像,那么通過傳遞JAVA_OPTS環境變量就可以很容易地設置JVM的內存參數。例如,對于正式的tomcat映像,我們可以執行下面的命令來啟動一個最大內存為512M的Tomcat實例。
dockerrun-RM-eJAVA_OPTS-xmx512mtomcat:8
在日志中,我們可以清楚地發現設置已經生效"命令行參數:-xmx512m"。
02-Apr-201612:46:26.970INFO【主】服務器v:ApacheTomcat/8.0.32
02-Apr-201612:46:26.974INFO[main]服務器built:2016年2月2日19:34:53UTC
02-Apr-201612:46:26.975INFO【主】服務器numb:8.0.32.0
02-Apr-201612:46:26.975INFO【主】OSNam:Linux
02-Apr-201612:46:26.975信息[主]操作系統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集群上部署和運行Java容器應用時,僅僅設置JVM的堆參數是不夠的,我們還需要限制Docker容器的內存資源:
1.限制容器使用的最大內存量,以防止損壞系統或其他應用程序。
容器可以被調度到一個有足夠空閑內存的節點上,從而保證應用程序所需的運行資源。
關于容器的資源分配約束,Docker提供了相應的啟動參數。
對于內存,最基本的是通過-m參數限制容器使用的內存大小。
-m,-內存