欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

k8s容器的內(nèi)存設(shè)置的踩坑記錄

 更新時(shí)間:2025年07月04日 09:06:43   作者:ant-666  
這篇文章主要介紹了k8s容器的內(nèi)存設(shè)置的踩坑記錄,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

問題場(chǎng)景

通過k8s啟動(dòng)了一個(gè)容器,容器中運(yùn)行了一個(gè)java應(yīng)用及日志跟蹤服務(wù),在運(yùn)行過程中發(fā)現(xiàn)容器經(jīng)常重啟,重啟的原因?yàn)椋篶group out of memory。

運(yùn)行指標(biāo)

k8s容器內(nèi)存限制:4G;jvm最大內(nèi)存設(shè)置:3.2G。

問題分析

1) jvm內(nèi)存溢出了;

2) 容器內(nèi)存溢出了。

過程跟蹤

1) 通過跟蹤jvm內(nèi)存的占用情況,模擬應(yīng)用請(qǐng)求,發(fā)現(xiàn)在容器被killed時(shí),jvm內(nèi)存正常。

2) 查看容器運(yùn)行的宿主服務(wù)器日志,/var/log/message,查看結(jié)束條件。 初步分析,容器內(nèi)存確實(shí)超出最大內(nèi)存限制:4G。如下圖。

3)初步分析,在容器被killed時(shí),jvm是運(yùn)行正常的,而容器運(yùn)行需要的其他內(nèi)存空間不夠,導(dǎo)致容器整體內(nèi)存占用大于4G;linux系統(tǒng)基于內(nèi)存占用評(píng)分機(jī)制,找出占用內(nèi)存使用最大的進(jìn)程,將進(jìn)行殺掉了;容器被刪掉后,k8s通過調(diào)度重新啟動(dòng)了容器實(shí)例。

如何設(shè)置容器的總內(nèi)存大小呢?

容器的總內(nèi)存 = 應(yīng)用程序內(nèi)存 + 容器服務(wù)內(nèi)存。對(duì)于java程序,jvm內(nèi)存大小,可以通過jvm調(diào)參和jvm監(jiān)控,尋找最合適的內(nèi)存大小參數(shù);對(duì)于容器服務(wù)內(nèi)存,可以基于k8s的彈性機(jī)制進(jìn)行設(shè)置,大小可默認(rèn)為應(yīng)用程序內(nèi)存的1/2。

1) jvm內(nèi)存大小調(diào)試,對(duì)于后臺(tái)管理或后臺(tái)任務(wù)調(diào)度類,jvm內(nèi)存溢出場(chǎng)景參數(shù)為:jvm老年代內(nèi)存占滿,并且垃圾回收次數(shù)不斷增加,CPU占用率幾乎100%。

JVM內(nèi)存參數(shù)建議還是使用-Xms、-Xmx進(jìn)行設(shè)置,不建議使用-XX:MaxRAMPercentage  -XX:InitialRAMPercentage -XX:MinRAMPercentage設(shè)置。因?yàn)?Xms、-Xmx是基于應(yīng)用程序功能調(diào)優(yōu)后的值,如果根據(jù)容器內(nèi)存大小隨意變更,效果可能適得其反。

2) 容器服務(wù)內(nèi)存可以在保證應(yīng)用程序正常運(yùn)行的情況下,根據(jù)實(shí)際情況調(diào)整。

總結(jié)

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • 一文搞懂K8S中的NodeSelector

    一文搞懂K8S中的NodeSelector

    NodeSelector是Kubernetes用于指定Pod運(yùn)行節(jié)點(diǎn)的機(jī)制,通過節(jié)點(diǎn)上的標(biāo)簽(label)來選擇性地調(diào)度Pod,增加調(diào)度的靈活性和精確性,首先需要給節(jié)點(diǎn)打上標(biāo)簽,本文給大家介紹K8S中的NodeSelector,感興趣的朋友一起看看吧
    2024-10-10
  • Podman開機(jī)自啟容器實(shí)現(xiàn)過程及與Docker對(duì)比

    Podman開機(jī)自啟容器實(shí)現(xiàn)過程及與Docker對(duì)比

    這篇文章主要為大家介紹了Podman開機(jī)自啟容器實(shí)現(xiàn)過程,通過示例代碼的形式進(jìn)行演繹過程,有需要的朋友可以參考下,希望可以有所幫助
    2021-09-09
  • 關(guān)于CentOS7日志文件及journalctl日志查看方法

    關(guān)于CentOS7日志文件及journalctl日志查看方法

    這篇文章主要介紹了關(guān)于CentOS7日志文件及journalctl日志查看方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-03-03
  • k8s中secret的用法詳解

    k8s中secret的用法詳解

    secret用于加密pod訪問數(shù)據(jù)庫的用戶憑證,這篇文章主要介紹了k8s中secret的用法詳解,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2023-04-04
  • kubernetes k8s常用問題排查方法

    kubernetes k8s常用問題排查方法

    新手學(xué)習(xí)K8s最大的難度感覺是在起步動(dòng)手實(shí)踐的時(shí)候,Pod沒有正常啟動(dòng)起來,或者運(yùn)行了一段時(shí)間Pod自己崩潰了。是什么問題導(dǎo)致了它沒運(yùn)行起來,或是什么因素導(dǎo)致了它的崩潰,本文來學(xué)習(xí)總結(jié)幾個(gè)使用 K8s時(shí)常見的錯(cuò)誤現(xiàn)象以及排查這些現(xiàn)象背后問題的方法
    2022-06-06
  • 一文講解如何獲取k8s容器里運(yùn)行的jar包

    一文講解如何獲取k8s容器里運(yùn)行的jar包

    K8S是Google開源的容器集群管理系統(tǒng),其設(shè)計(jì)目標(biāo)是在主機(jī)集群之間提供一個(gè)能夠自動(dòng)化部署、可拓展、應(yīng)用容器可運(yùn)營(yíng)的平臺(tái),這篇文章主要給大家介紹了關(guān)于如何獲取k8s容器里運(yùn)行的jar包的相關(guān)資料,需要的朋友可以參考下
    2022-09-09
  • K8S刪除pod的4種方法小結(jié)

    K8S刪除pod的4種方法小結(jié)

    在Kubernetes集群環(huán)境中工作時(shí),有時(shí)會(huì)遇到需要從一個(gè)工作節(jié)點(diǎn)中刪除pod的情況,下面這篇文章主要給大家介紹了關(guān)于K8S刪除pod的4種方法,需要的朋友可以參考下
    2024-01-01
  • CentOS?8.2?k8s?基礎(chǔ)環(huán)境配置

    CentOS?8.2?k8s?基礎(chǔ)環(huán)境配置

    這篇文章主要介紹了CentOS?8.2?k8s?基礎(chǔ)環(huán)境配置,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-10-10
  • K8s學(xué)習(xí)之Pod的定義及詳細(xì)資源調(diào)用案例

    K8s學(xué)習(xí)之Pod的定義及詳細(xì)資源調(diào)用案例

    Kubernetes將所有內(nèi)容抽象為資源,通過操作資源管理集群,核心單元是Pod,通過控制器管理Pod,資源管理分為命令式對(duì)象管理、命令式對(duì)象配置和聲明式對(duì)象配置,各有適用場(chǎng)景,需要的朋友可以參考下
    2024-09-09
  • 基于云服務(wù)MRS構(gòu)建DolphinScheduler2調(diào)度系統(tǒng)的案例詳解

    基于云服務(wù)MRS構(gòu)建DolphinScheduler2調(diào)度系統(tǒng)的案例詳解

    這篇文章主要介紹了基于云服務(wù)MRS構(gòu)建DolphinScheduler2調(diào)度系統(tǒng),本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-05-05

最新評(píng)論