配置Java啟動(dòng)參數(shù)
在容器服務(wù)K8s集群或Serverless K8s集群中創(chuàng)建或部署應(yīng)用時(shí),您可以通過Java啟動(dòng)參數(shù)對(duì)JVM進(jìn)行內(nèi)存、GC(垃圾回收)策略以及服務(wù)注冊(cè)與發(fā)現(xiàn)等配置。正確配置Java啟動(dòng)參數(shù)有助于降低GC(垃圾回收)開銷,從而縮短服務(wù)器響應(yīng)時(shí)間并提高吞吐量。
在創(chuàng)建應(yīng)用時(shí)配置Java啟動(dòng)參數(shù)
登錄EDAS控制臺(tái),在左側(cè)導(dǎo)航欄,單擊 ,在頂部菜單欄選擇地域并在頁面上方選擇命名空間,然后在應(yīng)用列表頁面左上角,單擊創(chuàng)建應(yīng)用。
- 在應(yīng)用基本信息頁簽選擇集群類型和應(yīng)用運(yùn)行環(huán)境,然后在頁面最下方單擊下一步。
參數(shù) 描述 集群類型 選擇Kubernetes集群。 應(yīng)用運(yùn)行環(huán)境 選擇Java應(yīng)用類型再選擇部署方式。 - 自定義:適用于在K8s集群中使用自定義的鏡像部署應(yīng)用。
- Java:支持通用的JAR包部署,適用于Dubbo和Spring Boot應(yīng)用。在選擇后可更改Java環(huán)境。
- Tomcat:支持通用的WAR包部署,適用于Dubbo和Spring應(yīng)用。在選擇后可更改Java環(huán)境和容器版本。
- EDAS-Container(HSF):適用于使用WAR或者FatJar部署HSF應(yīng)用。在選擇后可更改Java環(huán)境、Pandora版本和Ali-Tomcat版本。
在應(yīng)用配置頁簽,設(shè)置應(yīng)用的環(huán)境信息、基本信息、部署方式和資源參數(shù),設(shè)置完成后單擊下一步。
- 在應(yīng)用高級(jí)設(shè)置頁簽展開Java啟動(dòng)參數(shù)配置,單擊Java啟動(dòng)參數(shù)配置右側(cè)的編輯,并根據(jù)您的業(yè)務(wù)需求完成以下配置。
參數(shù) 描述 內(nèi)存配置 您可完成以下參數(shù)的配置: - 初始堆內(nèi)存:初始化的堆大小,單位為MB,0表示不限制使用大小。
- 最大堆內(nèi)存:最大堆內(nèi)存,單位為MB,可用范圍為0~0.85*應(yīng)用容器的Limit內(nèi)存。
- 初始年輕代:初始化年輕代大小,單位為MB。
- 最大年輕代:最大的年輕代的大小,單位為MB,填寫max_uintx意味著無上限的使用內(nèi)存。
- Eden/Survivor比例:Eden/Survivor內(nèi)存大小的比例。
- 老年代/新生代比例:老年代/新生代內(nèi)存大小的比例。
- 初始持久代:永久代的初始化大小,單位為MB。
- 最大持久代:永久代的最大大小,單位為MB。
- 最大直接內(nèi)存:允許使用NIO類型的直接內(nèi)存的最大值大小,單位為MB。
- 線程棧大小:線程棧大小,單位為KB。
應(yīng)用 HSF應(yīng)用可以配置以下應(yīng)用信息: - 綁定端口:指定HSF的啟動(dòng)服務(wù)綁定端口,默認(rèn)值為12200。
- 序列化方式:指定HSF的序列化方式,默認(rèn)值為hessian。
- 線程池最小:指定HSF的服務(wù)端最小線程池大小,默認(rèn)值為50。
- 線程池最大:指定HSF的服務(wù)端最大線程池大小,默認(rèn)值為720。
GC策略 您可配置以下垃圾回收策略: - 年輕代GC策略:用于設(shè)置年輕代垃圾回收器。
- 老年代GC策略:用于設(shè)置老年代垃圾回收器,必須先配置年輕代垃圾回收器。
- 并發(fā)GC線程數(shù):配置并發(fā)GC將使用的線程數(shù)。
- 并行GC線程數(shù):配置并行GC將使用的線程數(shù)。
協(xié)程特性 當(dāng)您想使用協(xié)程特性時(shí),可以開啟協(xié)程特性開關(guān)。 說明 只有在選擇Dragonwell作為JDK時(shí)才會(huì)出現(xiàn)協(xié)程特性配置項(xiàng)。工具 設(shè)置GC日志文件的日志目錄、文件個(gè)數(shù)和文件大小,以及內(nèi)存溢出時(shí)的Dump路徑。 服務(wù)注冊(cè)和發(fā)現(xiàn)配置 當(dāng)您想使用自建Nacos注冊(cè)中心時(shí),可以勾選該配置項(xiàng)。當(dāng)未選中此選項(xiàng)時(shí),將自動(dòng)替換解析為EDAS共享版注冊(cè)中心。 自定義 當(dāng)上述配置參數(shù)不能滿足您的配置需求時(shí),您可以配置自定義參數(shù),多個(gè)參數(shù)用空格分隔。 完成設(shè)置后單擊創(chuàng)建應(yīng)用。
在應(yīng)用創(chuàng)建完成頁簽確認(rèn)應(yīng)用基本信息、應(yīng)用配置和應(yīng)用高級(jí)設(shè)置等信息,確認(rèn)完畢后單擊確定創(chuàng)建應(yīng)用。
在應(yīng)用總覽頁面頂部提示信息中,單擊查看詳情,可在變更記錄頁面查看變更流程。應(yīng)用部署需要幾分鐘,請(qǐng)您耐心等待。變更完成后在應(yīng)用總覽頁面的基本信息區(qū)域查看實(shí)例的運(yùn)行狀態(tài),如果顯示為Pod運(yùn)行中,說明應(yīng)用部署成功。
在更新應(yīng)用時(shí)配置Java啟動(dòng)參數(shù)
您可在創(chuàng)建應(yīng)用時(shí)配置Java啟動(dòng)參數(shù),也可以在部署應(yīng)用時(shí)配置或更新Java啟動(dòng)參數(shù)。
登錄EDAS控制臺(tái)。
在左側(cè)導(dǎo)航欄,單擊 ,在頂部菜單欄選擇地域并在頁面上方選擇命名空間,在集群類型下拉列表,選擇K8s集群,然后在頁面單擊具體的應(yīng)用名稱。
在應(yīng)用總覽或基本信息頁面的右上角,選擇 。
在選擇部署模式頁面,選擇具體的部署方式,然后在所選方式區(qū)域的右上角,單擊開始部署。
- 設(shè)置應(yīng)用的環(huán)境和部署包信息后展開Java啟動(dòng)參數(shù)配置,單擊Java啟動(dòng)參數(shù)配置右側(cè)的編輯,根據(jù)您的需求完成配置后單擊確定。
參數(shù) 描述 內(nèi)存配置 您可完成以下參數(shù)的配置: - 初始堆內(nèi)存:初始化的堆大小,單位為MB,0表示不限制使用大小。
- 最大堆內(nèi)存:最大堆內(nèi)存,單位為MB,可用范圍為0~0.85*應(yīng)用容器的Limit內(nèi)存。
- 初始年輕代:初始化年輕代大小,單位為MB。
- 最大年輕代:最大的年輕代的大小,單位為MB,填寫max_uintx意味著無上限的使用內(nèi)存。
- Eden/Survivor比例:Eden/Survivor內(nèi)存大小的比例。
- 老年代/新生代比例:老年代/新生代內(nèi)存大小的比例。
- 初始持久代:永久代的初始化大小,單位為MB。
- 最大持久代:永久代的最大大小,單位為MB。
- 最大直接內(nèi)存:允許使用NIO類型的直接內(nèi)存的最大值大小,單位為MB。
- 線程棧大小:線程棧大小,單位為KB。
應(yīng)用 HSF應(yīng)用可以配置以下應(yīng)用信息: - 綁定端口:指定HSF的啟動(dòng)服務(wù)綁定端口,默認(rèn)值為12200。
- 序列化方式:指定HSF的序列化方式,默認(rèn)值為hessian。
- 線程池最小:指定HSF的服務(wù)端最小線程池大小,默認(rèn)值為50。
- 線程池最大:指定HSF的服務(wù)端最大線程池大小,默認(rèn)值為720。
GC策略 您可配置以下垃圾回收策略: - 年輕代GC策略:用于設(shè)置年輕代垃圾回收器。
- 老年代GC策略:用于設(shè)置老年代垃圾回收器,必須先配置年輕代垃圾回收器。
- 并發(fā)GC線程數(shù):配置并發(fā)GC將使用的線程數(shù)。
- 并行GC線程數(shù):配置并行GC將使用的線程數(shù)。
協(xié)程特性 當(dāng)您想使用協(xié)程特性時(shí),可以開啟協(xié)程特性開關(guān)。 說明 只有在選擇Dragonwell作為JDK時(shí)才會(huì)出現(xiàn)協(xié)程特性配置項(xiàng)。工具 設(shè)置GC日志文件的日志目錄、文件個(gè)數(shù)和文件大小,以及內(nèi)存溢出時(shí)的Dump路徑。 服務(wù)注冊(cè)和發(fā)現(xiàn)配置 當(dāng)您想使用自建Nacos注冊(cè)中心時(shí),可以勾選該配置項(xiàng)。當(dāng)未選中此選項(xiàng)時(shí),將自動(dòng)替換解析為EDAS共享版注冊(cè)中心。 自定義 當(dāng)上述配置參數(shù)不能滿足您的配置需求時(shí),您可以配置自定義參數(shù),多個(gè)參數(shù)用空格分隔。 重要 單擊確定后,該應(yīng)用將會(huì)被重啟,請(qǐng)?jiān)跇I(yè)務(wù)較少的時(shí)間段進(jìn)行。
查看執(zhí)行結(jié)果
- 方法一:
在應(yīng)用的變更記錄頁面中查看應(yīng)用變更詳情,如果顯示執(zhí)行成功,則表示部署成功,即配置已生效。
- 方法二:
在應(yīng)用總覽頁面單擊運(yùn)行狀態(tài)右側(cè)的Pod運(yùn)行狀態(tài)鏈接,在容器組(Pod)區(qū)域查看Pod的狀態(tài),如果顯示為代表運(yùn)行中的綠色圓圈,則說明部署成功,配置已生效。
EDAS容器服務(wù)K8s和Serverless K8s交流群
如果您在EDAS中使用容器服務(wù)K8s集群和Serverless K8s集群過程中有任何疑問或建議,請(qǐng)使用釘釘搜索釘釘群號(hào)23197114加入釘釘群進(jìn)行反饋。