在Container ServiceK8s叢集或Serverless K8s叢集中建立或部署應用時,您可以通過Java啟動參數對JVM進行記憶體、GC(記憶體回收)策略以及服務註冊與發現等配置。正確配置Java啟動參數有助於降低GC(記憶體回收)開銷,從而縮短伺服器回應時間並提高輸送量。
在建立應用時配置Java啟動參數
登入EDAS控制台,在左側導覽列,單擊 ,在頂部功能表列選擇地區並在頁面上方選擇所屬微服務空間,然後在應用列表頁面左上方,單擊建立應用。
- 在應用基本資料頁簽選擇叢集類型和應用運行環境,然後在頁面最下方單擊下一步。
參數 描述 叢集類型 選擇Kubernetes叢集。 應用運行環境 選擇Java應用類型再選擇部署方式。 - 自訂:適用於在K8s叢集中使用自訂的鏡像部署應用。
- Java:支援通用的JAR包部署,適用於Dubbo和Spring Boot應用。在選擇後可更改Java環境。
- Tomcat:支援通用的WAR包部署,適用於Dubbo和Spring應用。在選擇後可更改Java環境和容器版本。
- EDAS-Container(HSF):適用於使用WAR或者FatJar部署HSF應用。在選擇後可更改Java環境、Pandora版本和Ali-Tomcat版本。
在應用配置頁簽,設定應用的環境資訊、基本資料、部署方式和資源參數,設定完成後單擊下一步。
- 在應用進階設定頁簽展開Java啟動參數配置,單擊Java啟動參數配置右側的編輯,並根據您的業務需求完成以下配置。
參數 描述 記憶體配置 您可完成以下參數的配置: - 初始堆記憶體:初始化的堆大小,單位為MB,0表示不限制使用大小。
- 最大堆記憶體:最大堆記憶體,單位為MB,可用範圍為0~0.85*應用程式容器的Limit記憶體。
- 初始年輕代:初始化年輕代大小,單位為MB。
- 最大年輕代:最大的年輕代的大小,單位為MB,填寫max_uintx意味著無上限的使用記憶體。
- Eden/Survivor比例:Eden/Survivor記憶體大小的比例。
- 老年代/新生代比例:老年代/新生代記憶體大小的比例。
- 初始持久代:永久代的初始化大小,單位為MB。
- 最大持久代:永久代的最大大小,單位為MB。
- 最大直接記憶體:允許使用NIO類型的直接記憶體的最大值大小,單位為MB。
- 線程棧大小:線程棧大小,單位為KB。
應用 HSF應用可以配置以下應用資訊: - 綁定連接埠:指定HSF的啟動服務綁定連接埠,預設值為12200。
- 序列化方式:指定HSF的序列化方式,預設值為hessian。
- 線程池最小:指定HSF的服務端最小線程池大小,預設值為50。
- 線程池最大:指定HSF的服務端最大線程池大小,預設值為720。
GC策略 您可配置以下記憶體回收策略: - 年輕代GC策略:用於設定年輕代記憶體回收行程。
- 老年代GC策略:用於設定老年代記憶體回收行程,必須先配置年輕代記憶體回收行程。
- 並發GC線程數:配置並發GC將使用的線程數。
- 並行GC線程數:配置並行GC將使用的線程數。
協程特性 當您想使用協程特性時,可以開啟協程特性開關。 說明 只有在選擇Dragonwell作為JDK時才會出現協程特性配置項。工具 設定GC記錄檔的日誌目錄、檔案個數和檔案大小,以及記憶體溢出時的Dump路徑。 服務註冊和發現配置 當您想使用自建Nacos註冊中心時,可以勾選該配置項。當未選中此選項時,將自動替換解析為EDAS共用版註冊中心。 自訂 當上述配置參數不能滿足您的配置需求時,您可以配置自訂參數,多個參數用空格分隔。 完成設定後單擊建立應用。
在應用建立完成頁簽確認應用基本資料、應用配置和應用進階設定等資訊,確認完畢後單擊確定建立應用。
在應用總覽頁面頂部提示資訊中,單擊查看詳情,可在變更記錄頁面查看變更流程。應用部署需要幾分鐘,請您耐心等待。變更完成後在應用總覽頁面的基本資料地區查看執行個體的運行狀態,如果顯示為Pod運行中,說明應用部署成功。
在更新應用時配置Java啟動參數
您可在建立應用時配置Java啟動參數,也可以在部署應用時配置或更新Java啟動參數。
登入EDAS控制台。
在左側導覽列,單擊 ,在頂部功能表列選擇地區並在頁面上方選擇所屬微服務空間,在叢集類型下拉式清單,選擇K8s叢集,然後在頁面單擊具體的應用程式名稱。
在應用總覽或基本資料頁面的右上方,選擇 。
在選擇部署模式頁面,選擇具體的部署方式,然後在所選方式地區的右上方,單擊開始部署。
- 設定應用的環境和部署套件資訊後展開Java啟動參數配置,單擊Java啟動參數配置右側的編輯,根據您的需求完成配置後單擊確定。
參數 描述 記憶體配置 您可完成以下參數的配置: - 初始堆記憶體:初始化的堆大小,單位為MB,0表示不限制使用大小。
- 最大堆記憶體:最大堆記憶體,單位為MB,可用範圍為0~0.85*應用程式容器的Limit記憶體。
- 初始年輕代:初始化年輕代大小,單位為MB。
- 最大年輕代:最大的年輕代的大小,單位為MB,填寫max_uintx意味著無上限的使用記憶體。
- Eden/Survivor比例:Eden/Survivor記憶體大小的比例。
- 老年代/新生代比例:老年代/新生代記憶體大小的比例。
- 初始持久代:永久代的初始化大小,單位為MB。
- 最大持久代:永久代的最大大小,單位為MB。
- 最大直接記憶體:允許使用NIO類型的直接記憶體的最大值大小,單位為MB。
- 線程棧大小:線程棧大小,單位為KB。
應用 HSF應用可以配置以下應用資訊: - 綁定連接埠:指定HSF的啟動服務綁定連接埠,預設值為12200。
- 序列化方式:指定HSF的序列化方式,預設值為hessian。
- 線程池最小:指定HSF的服務端最小線程池大小,預設值為50。
- 線程池最大:指定HSF的服務端最大線程池大小,預設值為720。
GC策略 您可配置以下記憶體回收策略: - 年輕代GC策略:用於設定年輕代記憶體回收行程。
- 老年代GC策略:用於設定老年代記憶體回收行程,必須先配置年輕代記憶體回收行程。
- 並發GC線程數:配置並發GC將使用的線程數。
- 並行GC線程數:配置並行GC將使用的線程數。
協程特性 當您想使用協程特性時,可以開啟協程特性開關。 說明 只有在選擇Dragonwell作為JDK時才會出現協程特性配置項。工具 設定GC記錄檔的日誌目錄、檔案個數和檔案大小,以及記憶體溢出時的Dump路徑。 服務註冊和發現配置 當您想使用自建Nacos註冊中心時,可以勾選該配置項。當未選中此選項時,將自動替換解析為EDAS共用版註冊中心。 自訂 當上述配置參數不能滿足您的配置需求時,您可以配置自訂參數,多個參數用空格分隔。 重要 單擊確定後,該應用將會被重啟,請在業務較少的時間段進行。
查看執行結果
- 方法一:
在應用的變更記錄頁面中查看應用變更詳情,如果顯示執行成功,則表示部署成功,即配置已生效。
- 方法二:
在應用總覽頁面單擊運行狀態右側的Pod運行狀態連結,在容器組(Pod)地區查看Pod的狀態,如果顯示為代表運行中的綠色圓圈,則說明部署成功,配置已生效。