在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

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

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

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

如何解決Linux進(jìn)程調(diào)度優(yōu)先級數(shù)字混亂的問題?詳細(xì)實(shí)例分析

Linux閱碼場 ? 來源:未知 ? 作者:易水寒 ? 2018-10-03 10:24 ? 次閱讀

Linux進(jìn)程的調(diào)度優(yōu)先級數(shù)字會在好幾個地方出現(xiàn):內(nèi)核,用戶,top命令。他們各自都有自己的表示法。我們用一個實(shí)際的例子來說明,下面在Linux寫一個最簡單的程序:

編譯它運(yùn)行,把調(diào)度策略設(shè)置為SCHED_FIFO,優(yōu)先級設(shè)置為50:$ sudo chrt -f50./a.out這個時候我們在top命令里面觀察a.out:

我們看到a.out的PR(優(yōu)先級是)-51,CPU利用率100%。但是從內(nèi)核的視角上面來看,又會用99減去用戶在chrt里面設(shè)置的優(yōu)先級:

上面的MAX_RT_PRIO的值為:

所以上述進(jìn)程的優(yōu)先級,在三個不同視角的值分別為:

用戶 內(nèi)核 Top
50 49 -51

咋回事

Linux的RT調(diào)度策略和普通進(jìn)程在調(diào)度算法上面有差異,RT的SCHED_FIFO和SCHED_RR采用的是一個bitmap:

每次從第0bit開始往后面搜索第一個有進(jìn)程ready的bit,然后調(diào)度這個優(yōu)先級上面的進(jìn)程執(zhí)行,所以在內(nèi)核里面,prio數(shù)值越小,優(yōu)先級越高。但是從用戶態(tài)的API里面,則是數(shù)值越大,優(yōu)先級越高。下面的代碼,一個線程通過調(diào)用API把自己設(shè)置為SCHED_FIFO,優(yōu)先級50

這個上面的50,對應(yīng)內(nèi)核的49。如果我們把優(yōu)先級設(shè)置為51:

這個51,對應(yīng)內(nèi)核bitmap上面的48。所以,你會發(fā)現(xiàn),從用戶的視角來看,數(shù)值變大,優(yōu)先級變高。上面這2個視角,都不是top命令的視角。對于RT的進(jìn)程而言,TOP的視角里面的PR= -1 -用戶視角譬如,下面用戶視角的88,

$ sudo chrt -f 88 ./a.out

對應(yīng)內(nèi)核視角的11,對應(yīng)top視角的-89:

這實(shí)在讓人有一點(diǎn)暈??!這里還有一個特例,就是用戶視角的99(內(nèi)核bitmap視角的0),顯示為top命令的RT:

這說明一點(diǎn),只有最高優(yōu)先級的RT進(jìn)程,才在top里面顯示為rt。

普通的呢?

普通的講nice的人相對來說比較簡單,我們更關(guān)注它的nice值,-20~19之間,nice越低,優(yōu)先級越高,權(quán)重越大,在CFS的紅黑樹左邊的機(jī)會大。

你發(fā)現(xiàn).nice為5的進(jìn)程,在top命令顯示PR是25。下面我們看nice是-5的:

它顯示的是PR=15。由此大家可以發(fā)現(xiàn)規(guī)律,對于普通的采用CFS策略的NORMAL進(jìn)程,top里面的PR=20+NICE

在一起

總結(jié)一下,4個例子

用戶 內(nèi)核 Top
RT 50 49 (99-50) -51 (-1-50)
RT 99 0 rt
NICE 5 25
NICE -5 15

由此發(fā)現(xiàn),在top里面,RT策略的PR都顯示為負(fù)數(shù);最高優(yōu)先級的RT,顯示為rt。top命令里面也是,數(shù)字越小,優(yōu)先級越高。

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

    關(guān)注

    3

    文章

    1372

    瀏覽量

    40291
  • Linux
    +關(guān)注

    關(guān)注

    87

    文章

    11304

    瀏覽量

    209524
  • 編譯
    +關(guān)注

    關(guān)注

    0

    文章

    657

    瀏覽量

    32872

原文標(biāo)題:宋寶華: 關(guān)于Linux進(jìn)程優(yōu)先級數(shù)字混亂的徹底澄清

文章出處:【微信號:LinuxDev,微信公眾號:Linux閱碼場】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    嵌入式技術(shù)中如何定義進(jìn)程優(yōu)先級

    靜態(tài)優(yōu)先級是所有相關(guān)優(yōu)先級的計算的起點(diǎn),要么繼承自父進(jìn)程,要么用戶空間自行設(shè)定。一旦修改了靜態(tài)優(yōu)先級,那么normal priority和動態(tài)優(yōu)先級
    發(fā)表于 09-18 16:08 ?1560次閱讀
    嵌入式技術(shù)中如何定義<b class='flag-5'>進(jìn)程</b><b class='flag-5'>優(yōu)先級</b>

    基于優(yōu)先級搶占系統(tǒng)的QNX調(diào)度算法

    調(diào)度算法,是基于優(yōu)先級的。QNX的線程優(yōu)先級,是一個0-255的數(shù)字數(shù)字越大優(yōu)先級越高。所以,
    發(fā)表于 10-31 09:17 ?731次閱讀

    Linux進(jìn)程優(yōu)先級和環(huán)境變量詳解

    cpu 資源分配的先后順序,就是指進(jìn)程優(yōu)先權(quán)(priority) .優(yōu)先權(quán)高的進(jìn)程優(yōu)先執(zhí)行權(quán)利。配置
    發(fā)表于 03-28 10:54 ?847次閱讀

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

    今天給大家上點(diǎn)硬貨,關(guān)于Linux進(jìn)程管理和調(diào)度是學(xué)習(xí)和理解Linux的必學(xué)知識。為協(xié)調(diào)多個進(jìn)程 "同時" 運(yùn)行,現(xiàn)代操作系統(tǒng)通常使用
    發(fā)表于 05-08 09:42 ?1132次閱讀
    <b class='flag-5'>Linux</b>內(nèi)核<b class='flag-5'>進(jìn)程</b>管理與<b class='flag-5'>調(diào)度</b>:策略優(yōu)化與實(shí)踐<b class='flag-5'>分析</b>

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

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

    鴻蒙內(nèi)核源碼分析(調(diào)度隊列篇):進(jìn)程和Task的就緒隊列對調(diào)度的作用

    OsTaskPriQueueTop查最高優(yōu)先級任務(wù)OsDequeEmptySchedMap進(jìn)程出列[td]OsGetTopTask獲取被調(diào)度選擇的task鴻蒙內(nèi)核進(jìn)程和線程各有32個就
    發(fā)表于 11-23 11:09

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

    分析了與Linux 2.6 進(jìn)程調(diào)度密切相關(guān)的一些重要數(shù)據(jù)結(jié)構(gòu),詳細(xì)描述了進(jìn)程
    發(fā)表于 06-13 10:13 ?11次下載

    嵌入式系統(tǒng)優(yōu)先級反轉(zhuǎn)問題的分析

    摘要: 本文介紹了嵌入式系統(tǒng)任務(wù)調(diào)度優(yōu)先級反轉(zhuǎn)的一個實(shí)例。通過實(shí)例的討論對嵌入式系統(tǒng)優(yōu)先級反轉(zhuǎn)有一個更深入的了解,有助于在編程
    發(fā)表于 03-11 12:18 ?948次閱讀
    嵌入式系統(tǒng)<b class='flag-5'>優(yōu)先級</b>反轉(zhuǎn)問題的<b class='flag-5'>分析</b>

    Linux進(jìn)程調(diào)度的原理解析

    、counter、rt_priority。這四項(xiàng)是選擇進(jìn)程的依據(jù)。 其中,policy是進(jìn)程調(diào)度策略,用來區(qū)分實(shí)時進(jìn)程和普通進(jìn)程,實(shí)時
    發(fā)表于 11-02 11:01 ?1次下載

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

    優(yōu)先級,如果有多個進(jìn)程同時處于可執(zhí)行狀態(tài),那么誰優(yōu)先級高誰就去執(zhí)行,沒有什么好糾結(jié)的了。那么,進(jìn)程優(yōu)先級該如何確定呢?有兩種方式:由用戶
    發(fā)表于 04-02 14:40 ?346次閱讀

    嵌入式Linux實(shí)時進(jìn)程調(diào)度算法改進(jìn)

    系統(tǒng)調(diào)度算法應(yīng)綜合考慮進(jìn)程的價值和截止兩個概念,以保證實(shí)時進(jìn)程在截止期內(nèi)盡可能多地完成,在這里提出新的調(diào)度算法,改進(jìn)Linux的實(shí)時性。即:
    發(fā)表于 04-02 14:43 ?426次閱讀

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

    。(下面會說到)linux內(nèi)核將進(jìn)程分成兩個級別:普通進(jìn)程和實(shí)時進(jìn)程。實(shí)時進(jìn)程優(yōu)先級都高于普通
    發(fā)表于 04-02 14:45 ?346次閱讀

    鴻蒙內(nèi)核源碼:32級優(yōu)先級進(jìn)程和線程調(diào)度

    先看四個宏定義,進(jìn)程和線程(線程就是任務(wù))最高和最低優(yōu)先級定義,[0,31]區(qū)間,即32級,優(yōu)先級用于調(diào)度,CPU根據(jù)這個來決定先運(yùn)行哪個進(jìn)程
    的頭像 發(fā)表于 04-24 11:18 ?2063次閱讀

    uC/OS-II學(xué)習(xí)筆記——優(yōu)先級反轉(zhuǎn)與優(yōu)先級繼承機(jī)制

    優(yōu)先級反轉(zhuǎn),是指某同步資源被較低優(yōu)先級進(jìn)程/線程所擁有,較高優(yōu)先級進(jìn)程/線程競爭該同步資源未獲得該資源,而使得較高
    發(fā)表于 02-09 10:33 ?2次下載
    uC/OS-II學(xué)習(xí)筆記——<b class='flag-5'>優(yōu)先級</b>反轉(zhuǎn)與<b class='flag-5'>優(yōu)先級</b>繼承機(jī)制

    深入Linux進(jìn)程管理:提升效率與穩(wěn)定性的關(guān)鍵方法

    3.1Linux進(jìn)程調(diào)度與多任務(wù) 3.2進(jìn)程優(yōu)先級 3.3相對優(yōu)先級 3.4nice級別與權(quán)限
    的頭像 發(fā)表于 11-22 11:05 ?237次閱讀
    深入<b class='flag-5'>Linux</b><b class='flag-5'>進(jìn)程</b>管理:提升效率與穩(wěn)定性的關(guān)鍵方法
    主站蜘蛛池模板: 欧美成人免费观看bbb| 午夜视频h| 亚洲精品资源| 色一区二区| 国产女人和拘做受视频免费 | 欧美人成在线观看| 午夜一级毛片免费视频| 男人操女人视频网站| 五月婷婷激情在线| 国产看色免费| 222aaa天堂| 天天插天天摸| 97在线人人| 久久男人视频| 三级网站在线播放| 亚洲欧美性另类春色| 888米奇在线视频四色| 色视频欧美| 午夜黄色毛片| 毛片基地在线| 久久综合婷婷| 国产精品久久久久久福利| 一级特黄色毛片免费看| 国产三级黄色录像| 1024国产基地永久免费| 生活片黄色| 天天干天天草天天射| 国产99热| 国产aaaaaa| 27pao强力打造高清免费高| 欧美婷婷综合| 久久刺激视频| 四虎影院大全| 天天做天天摸天天爽天天爱| 美女视频一区二区三区| 黄色毛片儿| mmmxxx69日本| 免费看毛片网| 2017天天干| 欧美精品1| 亚洲va老文色欧美黄大片人人|