在Kubernetes上對Java的微調研究 - brunoborges
在Kubernetes上對Java的三個方面的研究:
- - ActiveProcessorCount
- - 預設GC
- - 預設Heap Sizing
ActiveProcessorCount 當前匹配cpu_quota: up to 1000m, 1 proc. 1001-2000m, 2 procs, 等等
這聽起來很合理,但正如我們所瞭解的,CFS 控制器不限制 CPU 數量,只限制 CPU 時間。多個本地執行緒可以並行執行,直到達到 cpu_quota配額。
僅在 JVM 看到超過 1792 MB 的可用記憶體和 2 個可用處理器(k8s 中為 2000m+)時預設選擇 G1GC,否則它會選擇 SerialGC。
因此,這就是為什麼這麼多開發人員在受限制的容器中強制使用 -XX:+UseG1GC。
堆大小預設為可用記憶體的 1/4。許多開發人員使用 Xmx 將堆設定為可用 RAM 的 50% 到 80% 之間。
理想情況下,開發人員應該使用 -XX:MaxRAMPercentage,以便 JVM 與 k8s 中的容器一起擴充套件。
我們想了解為什麼 JVM 在為更多可用處理器調整自身大小時表現不同,即使它受到 CPU 節流。也許與執行緒排程有關?
此外,這將如何影響 G1GC,以及更多堆記憶體是否可以減少 CPU 節流時間。
顯然,開發人員在沒有考慮 JVM 的工作方式以及並行、多執行緒工作(例如 JIT 編譯器和 GC)的需要情況下,無法為 Kubernetes 正確調整 Java 工作負載的大小,
1000m 似乎不是一個好的最小值,但它很常見。
在我看來,使用更多副本解決 CPU 節流也是一種常見的解決方法,但不是理想的解決方案。
我們的假設仍然是,對於某些工作負載,減少副本並增加 cpu 限制,可能節省成本,可能會提供更好的效能。
但是又發現 JVM 可能在較低的 cpu 限制下表現得更好,只要它為多個處理器調整自己的大小,至少在今天是一個有趣的實驗。
相關文章
- 如何對蘋果Mac音量進行微調 mac音量微調技巧蘋果Mac
- ? PEFT: 在低資源硬體上對十億規模模型進行引數高效微調模型
- Java 應用程式在 Kubernetes 上棘手的記憶體管理Java記憶體
- 深度學習技術在股票交易上的應用研究調查深度學習
- 如何在各個平臺上配置NTP的微調模式模式
- Jenkins 在 Kubernetes 上的實踐Jenkins
- 在GCP的Kubernetes上安裝daprGC
- 在Podman、Kubernetes和OpenShift上使用Odo實現Java開發Java
- 【NTP】如何在各個平臺上配置NTP的微調模式模式
- 理解線上集換式卡牌遊戲玩家的動機(上): 對兩款遊戲的調查研究遊戲
- Swift微調命令Swift
- GoogLeNet模型的微調Go模型
- LoRA大模型微調的利器大模型
- 怎樣在 Kubernetes 上執行 PostgreSQLSQL
- 在kubernetes上執行WASM負載ASM負載
- 調查研究|2份權威報告分析Kubernetes部署模式模式
- 自我認知微調
- 對beego在併發上的疑惑Go
- 在昇騰平臺上對TensorFlow網路進行效能調優
- 在Kubernetes上執行SAP UI5應用(上)UI
- NLP論文解讀:無需模板且高效的語言微調模型(上)模型
- 在 Kubernetes 上使用Spring Boot+ActiveMQSpring BootMQ
- 在 Kubernetes 中基於 StatefulSet 部署 MySQL(上)MySql
- 在 Mac 上使用 JavaMacJava
- 微調大語言模型模型
- 6個在本地機器上執行 Kubernetes 的工具
- SpringCloud 應用在 Kubernetes 上的最佳實踐 — 診斷(線上聯調)SpringGCCloud
- 請問在java程式中如何調出“開啟方式”對話方塊?Java
- 在災難推文分析場景上比較用 LoRA 微調 Roberta、Llama 2 和 Mistral 的過程及表現
- 在Google Cloud platform上建立Kubernetes cluster並使用GoCloudPlatform
- 使用Devtron在Kubernetes上實現GitOpsdevGit
- nvidia-docker2 在 Kubernetes 上實踐Docker
- 使用Gardener在GoogleCloudPlatform上建立Kubernetes叢集GoCloudUDPPlatform
- 在 Google Kubernetes Cluster 上使用 HANA Expression Database ServiceGoExpressDatabase
- CoreOS實踐(2)—在coreos上安裝Kubernetes
- Segment-anything學習到微調系列3_SAM微調decoder
- 創新實訓(9)- 大模型的微調大模型
- 如何微調:關注有效的資料集!