91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

容器進程調(diào)度時是該優(yōu)先考慮CPU資源還是內(nèi)存資源

冬至配餃子 ? 來源:開發(fā)內(nèi)功修煉 ? 作者:張彥飛allen ? 2022-08-16 18:20 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

問題是這樣的:有 A B 兩臺服務(wù)器,其中 A 服務(wù)器 cpu 快滿了,內(nèi)存很空閑。另外一臺 B 服務(wù)器 cpu 很空閑,但內(nèi)存快滿了。現(xiàn)在 k8s 有一個新的任務(wù)要調(diào)度,請問應(yīng)該選擇哪臺服務(wù)器?這其實是現(xiàn)在非?;鸬?k8s 的經(jīng)典應(yīng)用場景。

有的同學(xué)看到這個問題后的第一個想法是應(yīng)該先評估一下新任務(wù)是計算密集型的業(yè)務(wù)還是 io 密集型的。然后再決定往哪個機器上調(diào)度。這么思考倒是也不能算錯,只不過是沒有抓到問題的關(guān)鍵點上。

這個問題的關(guān)鍵點是在于要思考一下調(diào)度到某個機器上可能會出現(xiàn)什么問題。

1. 調(diào)度到 CPU 比較滿的 A 服務(wù)器

假設(shè)我們調(diào)度到 CPU 比較滿的 A 機器上會出現(xiàn)什么狀況呢?因為 CPU 資源是分時來調(diào)度的,每個進程都會得到一些時間片進行執(zhí)行。所以 A 機器上不管 CPU 有多忙,再加一個的進程來運行話其實影響無非就是所有的進程都運行的更慢了一些。再換個說法,就是 CPU 資源是可以超賣的,是屬于可壓縮資源。

這里提一下,部分讀者反饋說自己的云虛機在 CPU 飆升到 100% 的時候,云廠商為了保護主機,直接宕機。這種情況在各大公司的 IDC 機房內(nèi)不太可能出現(xiàn),所以這種情況咱們暫時不考慮。

2. 調(diào)度到內(nèi)存比較滿的 B 服務(wù)器

再假設(shè)我們調(diào)度到內(nèi)存比較滿的 B 機器上會出現(xiàn)什么狀況呢?不知道你有沒有遭遇過線上進程被 oom kill 掉的場景。這種情況下就是當(dāng)機器物理內(nèi)存不是很充足的時候,如果申請的內(nèi)存過大,操作系統(tǒng)就可能會挑選在運行的一些進程將其殺掉。

這里稍微展開說一下,操作系統(tǒng)選擇要殺掉的進程也不一定是內(nèi)存消耗最多的服務(wù)。而是會綜合內(nèi)存消耗和進程的 oom_score_adj(可配置) 值來進行選擇。在一些在離線混部的服務(wù)器上,往往會將在線服務(wù)進程的被殺的優(yōu)先級調(diào)的低一些,離線服務(wù)進程的被殺優(yōu)先級調(diào)高。這樣充分保障在線服務(wù)的穩(wěn)定運行。

先不考慮在離線混部的情況,假設(shè)都是在線服務(wù),那么無論哪一個服務(wù)的進程被 Linux 給 oom kill掉影響都是非常大的。還得重新調(diào)度,而且還有可能影響服務(wù)的穩(wěn)定性,以及接口的正確返回。

這里有的同學(xué)可能會說,Linux 上不是支持將內(nèi)存 swap 到磁盤上嗎?但其實在線上服務(wù)器中,由于磁盤的性能比內(nèi)存低太多了,所以大部分的線上服務(wù)器都不會開啟 swap 這個特性。因為服務(wù)的內(nèi)存一旦被 swap 到內(nèi)存,即使是能運行,性能也會有急劇的下降。所以一般不怎么會開啟。

結(jié)論

所以對比來看,新任務(wù)在調(diào)度的時候應(yīng)該優(yōu)先選擇 A 服務(wù)器,因為它的空閑內(nèi)存比較多,不太可能出現(xiàn)進程被殺死的情況。雖然它的 CPU 比較滿,但所有的服務(wù)仍然可以運行。

在實際中,k8s 的 API Server接受客戶端提交Pod對象創(chuàng)建請求后的操作過程中,有一個重要的步驟就是由調(diào)度器程序kube-scheduler從當(dāng)前集群中選擇一個可用的最佳節(jié)點來接收并運行它。

當(dāng)然實際中 k8s 的調(diào)度策略不是這么簡單的,系統(tǒng)默認(rèn)的 kube-scheduler 調(diào)度器外還有直接指定Node主機名、節(jié)點親和性、Pod親和性、nodeSelector 等等調(diào)度策略。

就單拿系統(tǒng)默認(rèn)的 kube-scheduler 調(diào)度器來說的話,還會綜合考慮單獨和整體的資源請求、硬件/軟件/策略限制、親和以及反親和要求、數(shù)據(jù)局域性、負(fù)載間的干擾等等這些因素對可調(diào)度節(jié)點打分,然后選出其中得分最高的 Node 來運行 Pod。


審核編輯:劉清

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • cpu
    cpu
    +關(guān)注

    關(guān)注

    68

    文章

    11281

    瀏覽量

    225086
  • 服務(wù)器
    +關(guān)注

    關(guān)注

    14

    文章

    10256

    瀏覽量

    91519
  • 操作系統(tǒng)
    +關(guān)注

    關(guān)注

    37

    文章

    7402

    瀏覽量

    129339
  • Linux系統(tǒng)
    +關(guān)注

    關(guān)注

    4

    文章

    614

    瀏覽量

    29936
  • SWAP
    +關(guān)注

    關(guān)注

    0

    文章

    52

    瀏覽量

    13686
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點推薦

    飛凌嵌入式ElfBoard-進程之什么是進程

    腳本可執(zhí)行文件:源代碼通過編譯、鏈接等步驟生成可執(zhí)行文件;解釋型腳本本身不需要編譯,相當(dāng)于可執(zhí)行文件。進程是程序的動態(tài)執(zhí)行實例,是程序在執(zhí)行時所占用的資源集合。每個進程都有自己的內(nèi)存
    發(fā)表于 01-26 08:42

    飛凌嵌入式ElfBoard-系統(tǒng)信息與資源之獲取當(dāng)前進程時間

    ,結(jié)構(gòu)用于存儲返回的 CPU 時間信息。tms 結(jié)構(gòu)通常定義如下:struct tms { clock_t tms_utime;// 用戶模式下的 CPU 時間 clock_t tms_stime
    發(fā)表于 01-20 08:53

    進程概念和特征

    程序及其數(shù)據(jù)在處理機上順序執(zhí)行時所發(fā)生的活動。   進程是具有獨立功能的程序在一個數(shù)據(jù)集合上運行的過程,它是系統(tǒng)進行資源分配和調(diào)度的一個獨立單位。   在引入進程實體的概念后,我們可
    發(fā)表于 01-15 06:39

    進程的控制

    、初始化處理機狀態(tài)信息和初始化處理機控制信息,以及設(shè)置進程優(yōu)先級等。   4. 如果進程就緒隊列能夠接納新進程,就將新進程插入到就緒隊列,
    發(fā)表于 01-15 06:05

    深入Linux內(nèi)核:進程調(diào)度的核心邏輯與實現(xiàn)細(xì)節(jié)

    在Linux系統(tǒng)中,進程調(diào)度就像一位精明的“CPU管理員”——它決定著哪個進程優(yōu)先使用CPU,
    的頭像 發(fā)表于 12-24 07:05 ?4316次閱讀
    深入Linux內(nèi)核:<b class='flag-5'>進程</b><b class='flag-5'>調(diào)度</b>的核心邏輯與實現(xiàn)細(xì)節(jié)

    解析Linux的進程、線程和協(xié)程

    一、基礎(chǔ)概念 進程(Process) 進程是計算機中運行的程序的實例,它是操作系統(tǒng)中最基本的執(zhí)行單元之一。每個進程都有自己的獨立內(nèi)存空間、系統(tǒng)
    發(fā)表于 12-22 11:00

    嵌入式基礎(chǔ)知識-系統(tǒng)調(diào)度

    調(diào)度,有許多相似之處。 1、進程的三種狀態(tài) 執(zhí)行態(tài)(Run):進程占用CPU資源,對于單核處理器,任一時刻只能有一個進行處于執(zhí)行態(tài)。 就
    發(fā)表于 12-16 08:15

    后勤資源大模型智能調(diào)度系統(tǒng):功能特點與平臺架構(gòu)解析

    ? ? 后勤資源大模型智能調(diào)度系統(tǒng)解析 ? ?后勤資源大模型智能調(diào)度系統(tǒng)融合大數(shù)據(jù)、人工智能與機器學(xué)習(xí)技術(shù),針對物資、設(shè)備、人員、運輸工具等后勤資源
    的頭像 發(fā)表于 12-15 16:35 ?313次閱讀

    FreeRTOS任務(wù)調(diào)度優(yōu)先級問題

    都有容錯,但是心里沒底,想向大家了解一下實際工作中有沒有遇到到類似的問題,如果有又是怎么解決的呢? 另外有前輩可以分享一下任務(wù)的優(yōu)先級在實際項目中基于什么原則來劃分呢?
    發(fā)表于 11-06 02:18

    蜂鳥E203內(nèi)核優(yōu)化方法

    。 修改內(nèi)核參數(shù):對蜂鳥E203的內(nèi)核參數(shù)進行相應(yīng)修改,可以優(yōu)化內(nèi)核運行效率,提高系統(tǒng)性能,比如調(diào)整緩存大小、內(nèi)存分配策略等。 資源管理:進行有針對的資源管理,例如調(diào)度算法的修改,調(diào)整
    發(fā)表于 10-21 07:55

    企業(yè)級HDFS高可用與YARN資源調(diào)度方案

    作為一名在大數(shù)據(jù)運維領(lǐng)域摸爬滾打8年的老兵,我見過太多因為基礎(chǔ)架構(gòu)不夠健壯而導(dǎo)致的生產(chǎn)事故。今天,我想和大家分享一套經(jīng)過實戰(zhàn)檢驗的 HDFS 高可用與 YARN 資源調(diào)度方案,這套方案幫助我們團隊將平臺可用性從 99.5% 提升到 99.99%,年故障時間從 43 小時降
    的頭像 發(fā)表于 09-08 17:15 ?745次閱讀

    HarmonyOS優(yōu)化應(yīng)用預(yù)置圖片資源加載耗時問題性能優(yōu)化

    CPU解壓縮生成的圖片資源會占用較多的內(nèi)存空間,給內(nèi)存造成更大的壓力,可能會引起卡頓掉幀。此時可以借助紋理壓縮技術(shù),將預(yù)置圖片在構(gòu)建過程中進行轉(zhuǎn)碼和壓縮,節(jié)省
    發(fā)表于 05-29 16:11

    云游戲的基礎(chǔ)資源類型

    云游戲的基礎(chǔ)資源類型 可根據(jù)功能與部署模式劃分為以下類別,其核心構(gòu)成及細(xì)分如下: 一、按功能劃分的資源類型 計算與渲染資源? 硬件規(guī)格?:云端服務(wù)器需配置高性能CPU、GPU集群,例如
    的頭像 發(fā)表于 04-09 10:18 ?684次閱讀
    云游戲的基礎(chǔ)<b class='flag-5'>資源</b>類型

    Linux進程狀態(tài)詳解

    進程狀態(tài)是task_struct內(nèi)的一個整數(shù);進行:進程調(diào)度隊列中,進程的狀態(tài)都是running,阻塞:等待某種設(shè)備或者資源就緒。
    的頭像 發(fā)表于 04-01 09:46 ?1164次閱讀
    Linux<b class='flag-5'>進程</b>狀態(tài)詳解

    進程、線程、協(xié)程傻傻分不清?一文帶你徹底扒光它們的\"底褲\"!

    :操作系統(tǒng)分配資源的最小單位,自帶「獨立戶口本」(虛擬地址空間)和「保鏢團隊」(系統(tǒng)級資源)。 技術(shù)細(xì)節(jié): 每個進程都有自己獨立的內(nèi)存空間(就像你家的房子,別人不能隨便進) 創(chuàng)建
    發(fā)表于 03-26 09:27