欧美性猛交xxxx免费看_牛牛在线视频国产免费_天堂草原电视剧在线观看免费_国产粉嫩高清在线观看_国产欧美日本亚洲精品一5区

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

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

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

Linux之CPU調(diào)度策略和CPU親和性

馬哥Linux運(yùn)維 ? 來(lái)源:馬哥Linux運(yùn)維 ? 2024-12-05 16:38 ? 次閱讀

一、調(diào)度策略

調(diào)度進(jìn)程

單個(gè) CPU一次只能執(zhí)行一個(gè)進(jìn)程,雖然 Linux 系統(tǒng)通過(guò)使用多任務(wù)同時(shí)處理多個(gè)進(jìn)程,但當(dāng)多個(gè)進(jìn)程同時(shí)運(yùn)行在一個(gè)CPU 上時(shí),它通過(guò)交錯(cuò)執(zhí)行這些進(jìn)程。

內(nèi)核使用進(jìn)程調(diào)度器來(lái)決定在某一時(shí)間點(diǎn)上哪個(gè)進(jìn)程在運(yùn)行。調(diào)度器必須平衡幾個(gè)選項(xiàng):

快速?zèng)Q定下一個(gè)該運(yùn)行的進(jìn)程

進(jìn)程可以公平的活動(dòng) CPU 時(shí)間,但高優(yōu)先級(jí)的進(jìn)程會(huì)活動(dòng)更多的運(yùn)行時(shí)間并且可以搶占低優(yōu)先級(jí)的進(jìn)程。

響應(yīng)有力的交互式應(yīng)用程序

在各種工作負(fù)載下可預(yù)測(cè)和可擴(kuò)展

進(jìn)程優(yōu)先級(jí)

在 Linux 中,調(diào)度器根據(jù)分配給每個(gè)線程或進(jìn)程的調(diào)度策略和優(yōu)先級(jí)來(lái)控制執(zhí)行順序。

這些調(diào)度策略分為:實(shí)時(shí)策略和非實(shí)時(shí)策略。

調(diào)度策略

RHEL提供六種調(diào)度策略,分為實(shí)時(shí)調(diào)度策略和非實(shí)時(shí)調(diào)度策略。

c8ab4f12-afde-11ef-93f3-92fbcf53809c.png

1、實(shí)時(shí)
SCHED FIFO:不帶時(shí)間分片的先進(jìn)先出策略。擁有該策略的進(jìn)程會(huì)一直運(yùn)行,直到被I/O 阻塞或是更改優(yōu)先級(jí)的進(jìn)程搶占。
SCHED RR:該策略使用時(shí)間片循環(huán)調(diào)度算法,具體同樣優(yōu)先級(jí)的任務(wù)輪詢執(zhí)行,直到耗盡預(yù)定的時(shí)間片。

2、非實(shí)時(shí)
SCHED_NORMAL(OTHER):linux 系統(tǒng)中大多數(shù)進(jìn)程使用的默認(rèn)策略。
SCHED BATCH:適合批量處理的進(jìn)程。
SCHED IDLE:該策略有利于運(yùn)行低優(yōu)先級(jí)應(yīng)用程序,

CFS 調(diào)度
從 2.6.23 版本的內(nèi)核開(kāi)始,CFS 就成為默認(rèn)的調(diào)度程序。CFS 使用紅黑樹(shù)來(lái)管理可運(yùn)行的進(jìn)程。它是基于虛擬時(shí)間(virtualtime)。
擁有虛擬時(shí)間最長(zhǎng),等待時(shí)間最長(zhǎng)的進(jìn)程將獲得使用 CPU。該進(jìn)程在執(zhí)行期間,虛擬時(shí)間將開(kāi)始減少。

DEADLINE 調(diào)度
在 RHEL8 中,引入了一個(gè)新的調(diào)度策略 SCHED DEADLINE。該調(diào)度主要應(yīng)用在實(shí)時(shí)系統(tǒng)中,保證實(shí)時(shí)任務(wù)的有效調(diào)度。

Deadline 調(diào)度使用三個(gè)參數(shù):周期、期限和運(yùn)行時(shí)間(最壞情況的運(yùn)行時(shí)間)

周期:如果一個(gè)視頻處理任務(wù)必須每秒處理60幀,新的幀每隔 16ms(毫秒)會(huì)到來(lái),則周期為 16ms。

期限:指任務(wù)需要交付結(jié)果的最長(zhǎng)時(shí)間,必須在這個(gè)期限結(jié)束前完成任務(wù)。

運(yùn)行時(shí)間:表示處理一個(gè)任務(wù)的最長(zhǎng)時(shí)間。

c8b62d9c-afde-11ef-93f3-92fbcf53809c.png

注意:單位都為 ns。
上面的例子表示:該任務(wù)將在每 16.6ms內(nèi)確保得到 5ms的CPU 時(shí)間來(lái)運(yùn)行,并且5ms 的 CPU 運(yùn)行時(shí)間都可以在 10ms 期限內(nèi)保證可用。

使用命令行方式更改調(diào)度選項(xiàng)

管理員可以使用 chrt 命令查看某個(gè)進(jìn)程(-p)的策略和優(yōu)先級(jí)。同時(shí)當(dāng)使用 chrt 開(kāi)啟一個(gè)新程序時(shí),需要制定策略和優(yōu)先級(jí),如果未指定策略,默認(rèn)是 SCHED RR.

策略選項(xiàng):

-b 指定為 SCHED BATCH
-f 指定為 SCHED FIFO
-i 指定為 SCHED IDLE
-o 指定為 SCHED NORMAL(OTHER)
-r 指定為 SCHED RR
-d 指定為 SCHED DEADLINE

例如為某個(gè)新進(jìn)程指定策略和優(yōu)先級(jí):

c8cb16f8-afde-11ef-93f3-92fbcf53809c.png

使用 systemd 的方式更改調(diào)度選項(xiàng)

在服務(wù)啟動(dòng)時(shí)指定調(diào)度策略和優(yōu)先級(jí),需要在[Service]段落中指定:

CPUSchedulingPolicy:設(shè)置服務(wù)的CPU 調(diào)度策略。other,batch,idle,fifo,rr。(當(dāng)前不支持 deadline 策略)

CPUSchedulingPriority:設(shè)置優(yōu)先級(jí),對(duì)于實(shí)時(shí)調(diào)度策略,范圍是1(最低)-99(最高)

c8da9ee8-afde-11ef-93f3-92fbcf53809c.png


完成后,需要重啟 systemctl daemon-reload,然后再重啟服務(wù)

二、CPU親和性

Pinning 進(jìn)程

默認(rèn)情況下,調(diào)度策略可以將進(jìn)程放置在任何一個(gè)CPU上去執(zhí)行,但為了增加效率,可以將某個(gè)進(jìn)程與哪些 CPU 進(jìn)行綁定,提供了緩存命中率,提供了整體性能。

c8f20092-afde-11ef-93f3-92fbcf53809c.png

基于 systemd 的服務(wù)提供了一種方便的方式,可以在服務(wù)單元中的[Service]段落中使用CPUAffinity,設(shè)置,該參數(shù)接受一個(gè)以空格為分隔符的 CPU 索引列表,例如 0 代表第-個(gè)CPU,1代表第二個(gè)CPU。

使用 tuna 命令查看CPU 綁定
yum install tuna

選頂: -t -P (大寫(xiě))查看特定線程的信息,例如調(diào)度策略,優(yōu)先級(jí),CPU綁定等

c8fd5c94-afde-11ef-93f3-92fbcf53809c.png

使用 cgroup 管理 CPU 親和性

在 NUMA 架構(gòu)中,一個(gè) NUMA 節(jié)點(diǎn)上包含了連接在該節(jié)點(diǎn)上的 CPU,內(nèi)存等硬件設(shè)備。由此也引出了 CPU 親和性的概念。即CPU 訪問(wèn)同一個(gè)節(jié)點(diǎn)中的內(nèi)存速度最快效率最高。利用 lscpu 命令查看 CPU 處于哪個(gè) NUMA 節(jié)點(diǎn)中。

NUMA

NUMA,非一致性內(nèi)存訪問(wèn)。將不同的CPU核心劃分到不同的 node 節(jié)點(diǎn)。每個(gè) node都有自己的內(nèi)存控制器,允許不同 node 中的 CPU 只訪問(wèn)屬于同一個(gè) node 的內(nèi)存區(qū)域。
而不同的 node 節(jié)點(diǎn)通過(guò) QPI進(jìn)行通信,如圖:

c90a3716-afde-11ef-93f3-92fbcf53809c.png

利用 cpuset cgroup 控制器可以將程序綁定到特定的核心上。cuset 目錄已經(jīng)被掛載到了/sys/fs/cgroup 目錄下。管理員可以手工對(duì)該目錄下的文件進(jìn)行讀寫(xiě)(修改)。

cpuset.cpus:指定 cgroup 中任務(wù)可以訪問(wèn)的CPU 數(shù)?!?”代表連續(xù)的 CPU 數(shù)。

Cpuset.mems:指定 cgroup 中的任務(wù)可以訪問(wèn)的 NUMA 內(nèi)存節(jié)點(diǎn)。

鏈接:https://www.cnblogs.com/OpenSourceSite/p/18567209

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

    關(guān)注

    68

    文章

    10908

    瀏覽量

    213088
  • Linux
    +關(guān)注

    關(guān)注

    87

    文章

    11350

    瀏覽量

    210466

原文標(biāo)題:Linux之CPU調(diào)度策略和CPU親和性

文章出處:【微信號(hào):magedu-Linux,微信公眾號(hào):馬哥Linux運(yùn)維】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    嵌入式Linux系統(tǒng)CPU控制常見(jiàn)辦法測(cè)試

    不是實(shí)時(shí)。為了保證實(shí)時(shí),可以根據(jù)應(yīng)用場(chǎng)景,對(duì)CPU實(shí)行更加精確的控制。常見(jiàn)的辦法有,進(jìn)程CPU隔離、CPU
    的頭像 發(fā)表于 11-26 14:17 ?5169次閱讀

    Linux內(nèi)核進(jìn)程管理與調(diào)度策略優(yōu)化與實(shí)踐分析

    相關(guān)的優(yōu)先級(jí),如果有多個(gè)可執(zhí)行的進(jìn)程等待CPU資源,那么具有更高優(yōu)先級(jí)的進(jìn)程將優(yōu)先被調(diào)度執(zhí)行。今天就給大家講解一下Linux內(nèi)核中的進(jìn)程管理和調(diào)
    發(fā)表于 05-08 09:42 ?1173次閱讀
    <b class='flag-5'>Linux</b>內(nèi)核進(jìn)程管理與<b class='flag-5'>調(diào)度</b>:<b class='flag-5'>策略</b>優(yōu)化與實(shí)踐分析

    【Nanopi2試用體驗(yàn)】高級(jí)(十):進(jìn)程綁定CPU核心

    NanoPi2具有4個(gè)CPU核心。當(dāng)運(yùn)行一個(gè)程序時(shí),想讓它運(yùn)行在特定的CPU核心上。那就要改變CPU親和性(affinity)了。那么什么是CPU
    發(fā)表于 02-03 17:28

    Linux系統(tǒng)調(diào)度簡(jiǎn)介

    )線程的情況下,只有當(dāng)系統(tǒng)產(chǎn)生軟時(shí)間中斷時(shí),CFS才會(huì)被調(diào)用來(lái)判斷下一個(gè)執(zhí)行的線程并使其占有CPU開(kāi)始執(zhí)行,這個(gè)現(xiàn)象看起來(lái)就好象是Linux調(diào)度策略簡(jiǎn)單的給每個(gè)線程分配了10ms的時(shí)間
    發(fā)表于 01-18 14:12

    干貨分享:基于嵌入式Linux中進(jìn)程調(diào)度實(shí)現(xiàn)方法

    可運(yùn)行隊(duì)列中。Linux 的進(jìn)程調(diào)度采用了動(dòng)態(tài)優(yōu)先級(jí) 和權(quán)值調(diào)控的方法,既可實(shí)現(xiàn)上述三種調(diào)度策略,又能保證實(shí)時(shí)進(jìn)程總是比普通進(jìn)程優(yōu)先使用 CPU
    發(fā)表于 12-10 14:17

    CPU頻率調(diào)度策略有哪些?

    CPU頻率調(diào)度策略有哪些?
    發(fā)表于 03-10 06:54

    技術(shù)術(shù)語(yǔ)CPU術(shù)語(yǔ)篇

    技術(shù)術(shù)語(yǔ)CPU術(shù)語(yǔ)篇
    發(fā)表于 06-30 19:45 ?1244次閱讀

    基于GPU/CPU的流程序多粒度劃分與調(diào)度

    并實(shí)現(xiàn)了面向GPU/CPU混合架構(gòu)的數(shù)據(jù)流程序任務(wù)劃分方法和多粒度調(diào)度策略,包括任務(wù)的分類(lèi)處理、GPU端任務(wù)的水平分裂和CPU端離散任務(wù)的均衡化,構(gòu)造了軟件流水
    發(fā)表于 11-23 14:29 ?0次下載

    一種靈活高效的虛擬CPU調(diào)度算法

    目前,虛擬化已經(jīng)廣泛應(yīng)用于數(shù)據(jù)中心,但主流的虛擬CPU調(diào)度策略并沒(méi)有實(shí)現(xiàn)對(duì)I/O性能的保障,尤其是當(dāng)延時(shí)敏感型負(fù)載的虛擬機(jī)和計(jì)算敏感型負(fù)載的虛擬機(jī)競(jìng)爭(zhēng)CPU資源時(shí),其性能顯著下降.針對(duì)
    發(fā)表于 01-02 17:51 ?0次下載

    linux CPU是這樣動(dòng)態(tài)調(diào)頻

    針對(duì)sep4020的linux低功耗研究也有一段時(shí)間了,基本把低功耗的實(shí)現(xiàn)方式想清楚了(主要分成機(jī)制和策略),這段時(shí)間的工作主要在機(jī)制上。暫時(shí)想實(shí)現(xiàn)的主要的機(jī)制有:cpu級(jí),設(shè)備驅(qū)動(dòng)級(jí),系統(tǒng)平臺(tái)級(jí)。管理顆粒度不斷遞增,形成三駕馬
    發(fā)表于 04-22 17:26 ?1657次閱讀
    <b class='flag-5'>linux</b> <b class='flag-5'>CPU</b>是這樣動(dòng)態(tài)調(diào)頻

    Linux 中線程與 CPU 核的綁定

    最近在對(duì)項(xiàng)目進(jìn)行性能優(yōu)化,由于在多核平臺(tái)上,所以了解了些進(jìn)程、線程綁定cpu核的問(wèn)題,在這里將所學(xué)記錄一下。不管是線程還是進(jìn)程,都是通過(guò)設(shè)置親和性(affinity)來(lái)達(dá)到目的。對(duì)于
    發(fā)表于 04-02 14:40 ?1131次閱讀

    Linux CPU的性能應(yīng)該如何優(yōu)化

    Linux系統(tǒng)中,由于成本的限制,往往會(huì)存在資源上的不足,例如 CPU、內(nèi)存、網(wǎng)絡(luò)、IO 性能。本文,就對(duì) Linux 進(jìn)程和 CPU 的原理進(jìn)行分析,總結(jié)出
    的頭像 發(fā)表于 01-18 08:52 ?3428次閱讀

    Linux發(fā)行版CPU漏洞及修復(fù)

    Linux 操作系統(tǒng)發(fā)行版,其深度集成與優(yōu)化阿里云基礎(chǔ)設(shè)施,旨在為阿里云 ECS 客戶提供豐富功能、高性能且穩(wěn)定的操作系統(tǒng)服務(wù),歡迎大家使用。) 然而在測(cè)試過(guò)程中發(fā)現(xiàn)很多子系統(tǒng)例如網(wǎng)絡(luò)子系統(tǒng)的性能與 CPU 調(diào)度性能密切相關(guān)
    的頭像 發(fā)表于 10-08 14:54 ?2337次閱讀

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

    當(dāng)然實(shí)際中 k8s 的調(diào)度策略不是這么簡(jiǎn)單的,系統(tǒng)默認(rèn)的 kube-scheduler 調(diào)度器外還有直接指定Node主機(jī)名、節(jié)點(diǎn)親和性、Pod親和性
    的頭像 發(fā)表于 08-16 18:20 ?1398次閱讀

    如何將進(jìn)程與 CPU 進(jìn)行綁定

    Linux 系統(tǒng)提供了一個(gè)名為 sched_setaffinity 的系統(tǒng)調(diào)用,此系統(tǒng)調(diào)用可以設(shè)置進(jìn)程的 CPU 親和性。我們來(lái)看看 sched_setaffinity 系統(tǒng)調(diào)用的原型。
    發(fā)表于 10-26 10:29 ?532次閱讀