国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

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

這篇具有很好參考價(jià)值的文章主要介紹了圖解Linux進(jìn)程優(yōu)先級(jí)。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

目錄

1.什么是進(jìn)程優(yōu)先級(jí)?

2.進(jìn)程優(yōu)先級(jí)原理

3.查看進(jìn)程優(yōu)先級(jí)

4.修改進(jìn)程優(yōu)先級(jí)

4.1 setpriority函數(shù)原型

4.2 getpriority函數(shù)原型

4.3 sched_setscheduler函數(shù)原型

4.4 sched_getscheduler函數(shù)原型

4.5 sched_setparam函數(shù)原型

4.6 sched_getparam函數(shù)原型


1.什么是進(jìn)程優(yōu)先級(jí)?

Linux進(jìn)程的優(yōu)先級(jí)是用來(lái)確定在多個(gè)進(jìn)程同時(shí)運(yùn)行時(shí),哪個(gè)進(jìn)程會(huì)獲得更多的CPU時(shí)間片。

Linux進(jìn)程的優(yōu)先級(jí)分為實(shí)時(shí)優(yōu)先級(jí)和普通優(yōu)先級(jí)。

實(shí)時(shí)優(yōu)先級(jí)用于實(shí)時(shí)應(yīng)用程序,如硬實(shí)時(shí)任務(wù)和實(shí)時(shí)控制系統(tǒng),而普通優(yōu)先級(jí)用于非實(shí)時(shí)應(yīng)用程序。

2.進(jìn)程優(yōu)先級(jí)原理

圖解Linux進(jìn)程優(yōu)先級(jí),Linux環(huán)境編程,linux,服務(wù)器,c語(yǔ)言,物聯(lián)網(wǎng),人工智能

  • 實(shí)時(shí)進(jìn)程:動(dòng)態(tài)優(yōu)先級(jí)為0-99的進(jìn)程,采用實(shí)時(shí)調(diào)度算法調(diào)度。

  • 普通進(jìn)程:動(dòng)態(tài)優(yōu)先級(jí)為100-139的進(jìn)程,采用完全公平調(diào)度算法調(diào)度。

  • nice值:是用于調(diào)整普通進(jìn)程優(yōu)先級(jí)的參數(shù)。范圍:-20-19。

2.1 task_struct優(yōu)先級(jí)

task_struct {

......

int? ? ? ? ? ? ?prio;?

int? ? ? ? ? ? ?static_prio;

int? ? ? ? ? ? ?normal_prio;

unsigned int? ? ? ? ? ? rt_priority;?

};

  • prio(動(dòng)態(tài)優(yōu)先級(jí))

動(dòng)態(tài)優(yōu)先級(jí),有效優(yōu)先級(jí),調(diào)度器最終使用的優(yōu)先級(jí)數(shù)值,范圍0-139,值越小,優(yōu)先級(jí)越高。

  • static_prio(靜態(tài)優(yōu)先級(jí))

靜態(tài)優(yōu)先級(jí),采用SCHED_NORMAL和SCHED_BATCH調(diào)度策略的進(jìn)程(即普通進(jìn)程)用于計(jì)算動(dòng)態(tài)優(yōu)先級(jí)的,范圍100-139。

prio = static_prio = nice + DEFAULT_PRIO = nice + 120。

  • normal_prio(歸一化優(yōu)先級(jí))

用于計(jì)算prio的中間變量,不需要太關(guān)心。

  • rt_priority(實(shí)時(shí)優(yōu)先級(jí))

實(shí)時(shí)優(yōu)先級(jí),采用SCHED_FIFO和SCHED_RR調(diào)度策略進(jìn)程(即實(shí)時(shí)進(jìn)程)用于計(jì)算動(dòng)態(tài)優(yōu)先級(jí),范圍0-99。

prio = MAX_RT_PRIO - 1 - rt_prio = 100 - 1 - rt_priority;

實(shí)時(shí)優(yōu)先級(jí)數(shù)值越大,得到的動(dòng)態(tài)優(yōu)先級(jí)數(shù)值越小,優(yōu)先級(jí)越高。

圖解Linux進(jìn)程優(yōu)先級(jí),Linux環(huán)境編程,linux,服務(wù)器,c語(yǔ)言,物聯(lián)網(wǎng),人工智能

3.查看進(jìn)程優(yōu)先級(jí)

3.1 執(zhí)行ps -elf 命令查看進(jìn)程優(yōu)先級(jí)

PRI:進(jìn)程優(yōu)先級(jí),數(shù)值越小,優(yōu)先級(jí)越高。(并非動(dòng)態(tài)優(yōu)先級(jí))

NI:nice值。

圖解Linux進(jìn)程優(yōu)先級(jí),Linux環(huán)境編程,linux,服務(wù)器,c語(yǔ)言,物聯(lián)網(wǎng),人工智能

3.2cat /proc/PID/sched查看進(jìn)程調(diào)度信息

policy:調(diào)度策略

prio:動(dòng)態(tài)優(yōu)先級(jí)

圖解Linux進(jìn)程優(yōu)先級(jí),Linux環(huán)境編程,linux,服務(wù)器,c語(yǔ)言,物聯(lián)網(wǎng),人工智能

4.修改進(jìn)程優(yōu)先級(jí)

4.1 setpriority函數(shù)原型

int setpriority(int which, id_t who, int prio);

功能:setpriority函數(shù)用于設(shè)置進(jìn)程nice值。

參數(shù):

which:指定要修改nice值的對(duì)象,可以是以下值之一:

  • PRIO_PROCESS:用于修改指定進(jìn)程的優(yōu)先級(jí)。

  • PRIO_PGRP:用于修改指定進(jìn)程組的優(yōu)先級(jí)。

  • PRIO_USER:用于修改指定用戶的所有進(jìn)程的優(yōu)先級(jí)。

who:指定被修改優(yōu)先級(jí)的對(duì)象的標(biāo)識(shí)符。

  • 如果which為PRIO_PROCESS,則who為目標(biāo)進(jìn)程的進(jìn)程ID(PID)。

  • 如果which為PRIO_PGRP,則who為目標(biāo)進(jìn)程組的進(jìn)程組ID(PGID)。

  • 如果which為PRIO_USER,則who為目標(biāo)用戶的用戶ID(UID)。

prio:新的nice值,范圍通常為-20到19之間。

返回值:

成功:返回0。

失?。悍祷?1,并設(shè)置errno。文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-743908.html

4.2 getpriority函數(shù)原型

int getpriority(int which, id_t who);

功能:getpriority函數(shù)用于獲取進(jìn)程nice值。

參數(shù):

which:指定要獲取nice值的對(duì)象,可以是以下值之一:

  • PRIO_PROCESS:用于修改指定進(jìn)程的優(yōu)先級(jí)。

  • PRIO_PGRP:用于修改指定進(jìn)程組的優(yōu)先級(jí)。

  • PRIO_USER:用于修改指定用戶的所有進(jìn)程的優(yōu)先級(jí)。

who:指定獲取nice值的對(duì)象的標(biāo)識(shí)符。

  • 如果which為PRIO_PROCESS,則who為目標(biāo)進(jìn)程的進(jìn)程ID(PID)。

  • 如果which為PRIO_PGRP,則who為目標(biāo)進(jìn)程組的進(jìn)程組ID(PGID)。

  • 如果which為PRIO_USER,則who為目標(biāo)用戶的用戶ID(UID)。

返回值:

成功:返回nice值。

失?。悍祷?1,并設(shè)置errno。

4.3 sched_setscheduler函數(shù)原型

int sched_setscheduler(pid_t pid, int policy,?const struct sched_param *param);

功能:sched_setscheduler函數(shù)是Linux系統(tǒng)中用于設(shè)置進(jìn)程調(diào)度策略和優(yōu)先級(jí)的系統(tǒng)調(diào)用。

參數(shù):

pid:進(jìn)程ID,0表示當(dāng)前進(jìn)程。

policy:表示要設(shè)置的調(diào)度策略,常用的調(diào)度策略有以下幾種選項(xiàng):

  • SCHED_OTHER:普通進(jìn)程調(diào)度策略。

  • SCHED_FIFO:先進(jìn)先出調(diào)度策略。

  • SCHED_RR:輪轉(zhuǎn)調(diào)度策略。

param:是一個(gè)指向sched_param結(jié)構(gòu)的指針,用于指定優(yōu)先級(jí)參數(shù)。

struct sched_param {

? ? ? ? ? ? ? ?...

? ? ? ? ? ? ? ?int sched_priority;?

? ? ? ? ? ? ? ?...

?};

返回值:

成功:返回0。

失敗:返回-1,并設(shè)置errno。

sched_setscheduler使用注意事項(xiàng):

圖解Linux進(jìn)程優(yōu)先級(jí),Linux環(huán)境編程,linux,服務(wù)器,c語(yǔ)言,物聯(lián)網(wǎng),人工智能

調(diào)度策略在內(nèi)核中的定義:

圖解Linux進(jìn)程優(yōu)先級(jí),Linux環(huán)境編程,linux,服務(wù)器,c語(yǔ)言,物聯(lián)網(wǎng),人工智能

4.4 sched_getscheduler函數(shù)原型

int sched_getscheduler(pid_t pid);

功能:sched_getscheduler函數(shù)是Linux系統(tǒng)中的一個(gè)于獲取指定進(jìn)程的調(diào)度策略。

參數(shù):

pid:進(jìn)程id,0表示當(dāng)前進(jìn)程。

返回值:

成功:返回調(diào)度策略:

  • SCHED_OTHER

  • SCHED_FIFO

  • SCHED_RR

  • SCHED_BATCH

  • SCHED_IDLE

失敗:返回-1,并設(shè)置errno。

4.5 sched_setparam函數(shù)原型

int sched_setparam(pid_t pid, const struct sched_param *param);

功能:sched_setparam用于設(shè)置進(jìn)程實(shí)時(shí)優(yōu)先級(jí),該函數(shù)不能設(shè)置調(diào)度策略。

參數(shù):

pid:進(jìn)程id,0表示當(dāng)前進(jìn)程。

param:參數(shù)sched_setscheduler函數(shù)。

返回值:

成功:返回0。

失?。悍祷?1,并設(shè)置errno。

4.6 sched_getparam函數(shù)原型

int sched_getparam(pid_t pid, struct sched_param *param);

功能:sched_getparam用于獲取指定進(jìn)程的實(shí)時(shí)優(yōu)先級(jí)。

參數(shù):

pid:進(jìn)程id,0表示當(dāng)前進(jìn)程。

param:參數(shù)sched_setscheduler函數(shù)。

返回值:

成功:返回0。

失敗:返回-1,并設(shè)置errno。

到了這里,關(guān)于圖解Linux進(jìn)程優(yōu)先級(jí)的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • Linux_進(jìn)程的優(yōu)先級(jí)&&環(huán)境變量&&上下文切換&&優(yōu)先級(jí)隊(duì)列

    Linux_進(jìn)程的優(yōu)先級(jí)&&環(huán)境變量&&上下文切換&&優(yōu)先級(jí)隊(duì)列

    什么是優(yōu)先級(jí)? 指定一個(gè)進(jìn)程獲取某種資源的先后順序 本質(zhì)是進(jìn)程獲取cpu資源的優(yōu)先順序 為什么要有優(yōu)先級(jí) 進(jìn)程訪問(wèn)的資源(CPU)是有限的 操作系統(tǒng)關(guān)于調(diào)度和優(yōu)先級(jí)的原則:分時(shí)操作系統(tǒng),基本的公平,如果進(jìn)程因?yàn)殚L(zhǎng)時(shí)間不被調(diào)整,就造成了饑餓問(wèn)題 Linux的優(yōu)先級(jí)特

    2024年04月09日
    瀏覽(22)
  • 【Linux】進(jìn)程優(yōu)先級(jí) && 命令行參數(shù) && 環(huán)境變量

    【Linux】進(jìn)程優(yōu)先級(jí) && 命令行參數(shù) && 環(huán)境變量

    提示:文章寫(xiě)完后,目錄可以自動(dòng)生成,如何生成可參考右邊的幫助文檔 目錄 文章目錄 前言 一、進(jìn)程優(yōu)先級(jí) 1.1、進(jìn)程優(yōu)先級(jí)的基本概念 1.2、優(yōu)先級(jí) VS 權(quán)限 1.3、為什么要有優(yōu)先級(jí)? 1.4、Linux的優(yōu)先級(jí)的特點(diǎn) 查看方式 1.5、PRI and NI 1.6、用top命令更改已存在進(jìn)程的nice 1.7、其

    2024年03月25日
    瀏覽(17)
  • 【Linux】環(huán)境變量與進(jìn)程優(yōu)先級(jí)知識(shí)點(diǎn)

    【Linux】環(huán)境變量與進(jìn)程優(yōu)先級(jí)知識(shí)點(diǎn)

    環(huán)境變量(environment variables)一般是指在操作系統(tǒng)中用來(lái)指定操作系統(tǒng)運(yùn)行環(huán)境的一些參數(shù)。 PATH : 指定命令的搜索路徑 HOME : 指定用戶的主工作目錄(即用戶登陸到Linux系統(tǒng)中時(shí),默認(rèn)的目錄) SHELL : 當(dāng)前Shell,它的值通常是/bin/bash USER:記錄了當(dāng)前登錄的用戶是誰(shuí) 主要以PATH進(jìn)行學(xué)習(xí)

    2023年04月23日
    瀏覽(90)
  • 【Linux】探索Linux進(jìn)程優(yōu)先級(jí) | 環(huán)境變量 |本地變量 | 內(nèi)建命令

    【Linux】探索Linux進(jìn)程優(yōu)先級(jí) | 環(huán)境變量 |本地變量 | 內(nèi)建命令

    最近,我發(fā)現(xiàn)了一個(gè)超級(jí)強(qiáng)大的人工智能學(xué)習(xí)網(wǎng)站。它以通俗易懂的方式呈現(xiàn)復(fù)雜的概念,而且內(nèi)容風(fēng)趣幽默。我覺(jué)得它對(duì)大家可能會(huì)有所幫助,所以我在此分享。點(diǎn)擊這里跳轉(zhuǎn)到網(wǎng)站。 ??博客主頁(yè):小智_x0___0x_ ??歡迎關(guān)注:??點(diǎn)贊??收藏??留言 ??系列專欄:Linux入門(mén)

    2024年02月04日
    瀏覽(83)
  • 【Linux進(jìn)行時(shí)】環(huán)境變量and進(jìn)程優(yōu)先級(jí)

    【Linux進(jìn)行時(shí)】環(huán)境變量and進(jìn)程優(yōu)先級(jí)

    ?首先一個(gè)問(wèn)題:我寫(xiě)的代碼(這個(gè)代碼很簡(jiǎn)單,不用管)編譯之后運(yùn)行的時(shí)候?yàn)槭裁匆獛?/ ? 或者說(shuō)我怎么才可以讓我不用帶./ ? ??.代表當(dāng)前文件下,/是文件分隔符,這是用相對(duì)路徑的方式來(lái)訪問(wèn),所以我們也可以用絕對(duì)路徑 myproc和ls都是指令,ls可以直接輸入,但是我

    2024年02月08日
    瀏覽(25)
  • [Linux 進(jìn)程(三)] 進(jìn)程優(yōu)先級(jí),進(jìn)程間切換,main函數(shù)參數(shù),環(huán)境變量

    [Linux 進(jìn)程(三)] 進(jìn)程優(yōu)先級(jí),進(jìn)程間切換,main函數(shù)參數(shù),環(huán)境變量

    排隊(duì)的本質(zhì)就是確認(rèn)優(yōu)先級(jí)。 優(yōu)先級(jí)是什么?它也是PCB中的一個(gè)整型字段 , 數(shù)值越小,優(yōu)先級(jí)越高 。是得到某種資源的先后順序。 Linux進(jìn)程的優(yōu)先級(jí)數(shù)值范圍:60~99。 Linux中默認(rèn)進(jìn)程的優(yōu)先級(jí)都是80。 為什么要有優(yōu)先級(jí) ?本質(zhì)是資源不足。 談到優(yōu)先級(jí),就不得不說(shuō)我們以

    2024年01月21日
    瀏覽(17)
  • 【看表情包學(xué)Linux】進(jìn)程優(yōu)先級(jí) | 查看系統(tǒng)進(jìn)程 | 優(yōu)先級(jí)修改 | 進(jìn)程的切換 | 競(jìng)爭(zhēng)性與獨(dú)立性 | 并行并發(fā)的概念 | 環(huán)境變量

    【看表情包學(xué)Linux】進(jìn)程優(yōu)先級(jí) | 查看系統(tǒng)進(jìn)程 | 優(yōu)先級(jí)修改 | 進(jìn)程的切換 | 競(jìng)爭(zhēng)性與獨(dú)立性 | 并行并發(fā)的概念 | 環(huán)境變量

    ?? ??? 爆笑 教程 ????《看表情包學(xué)Linux》?? ? 猛戳訂閱 ? ? ?? ? ?? 寫(xiě)在前面: 我們先講解進(jìn)程的優(yōu)先級(jí),探討為什么會(huì)存在優(yōu)先級(jí),以及如何查看系統(tǒng)進(jìn)程、進(jìn)程優(yōu)先級(jí)的修改。然后講解進(jìn)程的切換,首次介紹進(jìn)程的競(jìng)爭(zhēng)性、獨(dú)立性,以及并行和并發(fā)的概念,在通

    2024年01月19日
    瀏覽(21)
  • 【探索Linux】—— 強(qiáng)大的命令行工具 P.8(進(jìn)程優(yōu)先級(jí)、環(huán)境變量)

    【探索Linux】—— 強(qiáng)大的命令行工具 P.8(進(jìn)程優(yōu)先級(jí)、環(huán)境變量)

    前面我們講了C語(yǔ)言的基礎(chǔ)知識(shí),也了解了一些數(shù)據(jù)結(jié)構(gòu),并且講了有關(guān)C++的一些知識(shí),也學(xué)習(xí)了一些Linux的基本操作,也了解并學(xué)習(xí)了有關(guān)Linux開(kāi)發(fā)工具vim 、gcc/g++ 使用、yum工具以及git 命令行提交代碼也相信大家都掌握的不錯(cuò),上一篇文章我們了解了關(guān)于進(jìn)程的基本概念,今

    2024年02月09日
    瀏覽(26)
  • 2.【Linux】(進(jìn)程的狀態(tài)||深入理解fork||底層剖析||task_struct||進(jìn)程優(yōu)先級(jí)||并行和并發(fā)||詳解環(huán)境變量)

    2.【Linux】(進(jìn)程的狀態(tài)||深入理解fork||底層剖析||task_struct||進(jìn)程優(yōu)先級(jí)||并行和并發(fā)||詳解環(huán)境變量)

    Linux把所有進(jìn)程通過(guò)雙向鏈表的方式連接起來(lái)組成任務(wù)隊(duì)列,操作系統(tǒng)和cpu通過(guò)選擇一個(gè)task_struct執(zhí)行其代碼來(lái)調(diào)度進(jìn)程。 1.運(yùn)行態(tài):pcb結(jié)構(gòu)體在運(yùn)行或在運(yùn)行隊(duì)列中排隊(duì)。 2.阻塞態(tài):等待非cpu資源就緒(硬盤(pán),網(wǎng)卡等資源) 3.掛起態(tài):一個(gè)進(jìn)程對(duì)應(yīng)的代碼和數(shù)據(jù)被操作系統(tǒng)因

    2024年01月22日
    瀏覽(22)
  • 【Linux進(jìn)程篇-----進(jìn)程優(yōu)先級(jí)】

    【Linux進(jìn)程篇-----進(jìn)程優(yōu)先級(jí)】

    1.基本概念 cpu 資源分配的先后順序,就是指進(jìn)程的優(yōu)先權(quán)(priority) .優(yōu)先權(quán)高的進(jìn)程有優(yōu)先執(zhí)行權(quán)利。配置進(jìn)程優(yōu)先權(quán)對(duì)多任務(wù)環(huán)境的 Linux 很有用,可以改善系統(tǒng)性能。還可以把進(jìn)程運(yùn)行到指定的 CPU 上,這樣一來(lái),把不重要的進(jìn)程安排到某個(gè) CPU,可以大大改善系統(tǒng)整體性能

    2024年02月08日
    瀏覽(20)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包