tomcat內(nèi)存需要設(shè)置成一樣大嗎 一個開發(fā)java的人需要多大內(nèi)存?
一個開發(fā)java的人需要多大內(nèi)存?最多是4G。結(jié)論:java開發(fā)需要按裝jdk、eclipse、oracle等軟件;java正常運行必須tomcat、JVM和程序的運行內(nèi)存;以上的這些軟件都差不多都啟
一個開發(fā)java的人需要多大內(nèi)存?
最多是4G。
結(jié)論:
java開發(fā)需要按裝jdk、eclipse、oracle等軟件;
java正常運行必須tomcat、JVM和程序的運行內(nèi)存;
以上的這些軟件都差不多都啟動起來的話,差不多要2G多內(nèi)存,而電腦本身還要一部分,所以才最低配置也得4G,建議變更土地性質(zhì)用6G也可以是8G。
Linux和Windows中tomcat修改內(nèi)存大小的方法?
1、一正在是遠程debug的問題,出現(xiàn)了“Debuggerrefusedwantattach:handshakeunable-returnedgtGET/HTTP/1.1lt-expectedgtJDWP-Handshakelt”。徹底刪除中的遠程調(diào)試再試一下。
2、查找端口,發(fā)現(xiàn)自己一個tomcat端口消失不見,隨后可以檢測是內(nèi)存原因,共有依據(jù)不好算情況決定每個tomcat的內(nèi)存,能解決問題。
tomcat設(shè)置多少線程合適?
為了提升最優(yōu)方案配置,我接受了通用業(yè)務(wù)系統(tǒng)登錄及首頁待辦、查詢、統(tǒng)計內(nèi)容加載等場景的壓力實測,個人建議:
在tomcat虛擬內(nèi)存為2G,個人建議系統(tǒng)設(shè)置大的線程為500~600,可支持的最并發(fā)量為500~600
在tomcat虛擬內(nèi)存為4G,個人建議設(shè)置大的線程為600~700,可支持最大并發(fā)量為600~700
假如不需要至少自身業(yè)務(wù)系統(tǒng)的更優(yōu)配置,肯定必須依據(jù)自身應(yīng)用系統(tǒng)的場景并且逐漸壓力實測,再根據(jù)結(jié)果通過線程數(shù)的上調(diào)或再次上調(diào)。
盡量:另,在另一篇文章“Tomcat性能調(diào)優(yōu):虛擬內(nèi)存JVM設(shè)置”也提到“tomcat虛擬內(nèi)存JVM比較大設(shè)置中為4G。當經(jīng)過實測4G以上性能提升極小,考慮nginxtomcat集群做負載均衡。”
如何設(shè)置Docker容器中Java應(yīng)用的內(nèi)存限制?
如果不是在用官方的Java鏡像,的或基于組件Java鏡像構(gòu)建的Docker鏡像,都也可以是從傳信JAVA_OPTS環(huán)境變量來快速地設(shè)置里JVM的內(nèi)存參數(shù)。比如,是對官方Tomcat鏡像,我們可以執(zhí)行下面命令來啟動時一個比較大內(nèi)存為512M的tomcat實例
dockerkick--rm-eJAVA_OPTS-Xmx512mtomcat:8
在日志中,我們這個可以很清楚地突然發(fā)現(xiàn)可以設(shè)置也未生效“Commandlineargument:-Xmx512m”
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
02-Apr-201612:46:26.975INFO[main]JavaHome:/usr/lib/jvm/java-7-openjdk-amd64/jre
02-Apr-201612:46:26.976INFO[main]JVM Version: 1.7.0_95-b00-Apr-201612:46:26.976INFO[main]JVMVendor:OracleCorporation
02-Apr-201612:46:26.977INFO[main]CATALINA_BASE:/usr/locations/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容器應(yīng)用的時候,不僅僅對JVM的heap參數(shù)設(shè)置是太少的,我們還需要對Docker容器的內(nèi)存資源進行限制:
1.限制修改容器可以使用的內(nèi)存的的最量,能夠防止對系統(tǒng)或其他應(yīng)用造成傷害
2.能將Docker容器調(diào)度到占據(jù)起碼空余的內(nèi)存的節(jié)點,最終達到絕對的保證應(yīng)用的所需運行資源
關(guān)與容器的資源分配約束,Docker能提供了或者的啟動參數(shù)
對內(nèi)存而言,最基本的就是是從-m參數(shù)來管理和約束容器建議使用內(nèi)存的大小
-m,--memory