Linux 程序排程與優先順序

2021-10-21 04:33:47 字數 1518 閱讀 1216

靜態優先順序,取值100 ~ 139,對非實時程序有效,通過nice系統呼叫來進行修改

rt_priority

實時優先順序,取值0~99,只對實時程序有效

normal_prio

歸一化優先順序,其值取決於靜態優先順序和排程策略

prio

動態優先順序,取值0 ~ 139,排程器最終使用

rt_priority:

normal_prio:

prio:

實時程序優先順序設定5

// 1)

sudo nice -n 5 ./test

// 2)

sudo renice -5 -p 5500

// 3)

nice() 系統呼叫

使用者核心

top(pr/ni)

rt 65

34-35(-1 - 34)

0rt 990rt

0普通 nice 0 (預設)200

普通 nice 5

25 (20 + 5)

5普通 nice -5

15 (20 -5)

-5

/proc/sys/kernel/sched_rt_period_us

/proc/sys/kernel/sched_rt_runtime_us

04 程序優先順序與排程策略實戰

linux核心的三種排程策略 rr和fifo屬於實時任務,建立優先順序大於0 1 99 按照可搶占優先順序排程演算法進行,就緒態的實時任務立即搶占非實時任務 主要是由下列2個函式可以獲取執行緒設定的最高端和最低優先順序 int sched get priority max int policy 獲取...

Linux程序優先順序和調整優先順序

linux 是乙個多使用者 多工的作業系統,系統中通常執行著非常多的程序。但是 cpu 在乙個時鐘週期內只能運算一條指令 現在的 cpu 採用了多執行緒 多核心技術,所以在乙個時鐘週期內可以運算多條指令。但是同時運算的指令數也遠遠小於系統中的程序總數 那問題來了 誰應該先運算,誰應該後運算呢?這就需...

程序排程(程序優先順序和nice值)

基本概念 程序優先順序是乙個數值,它通過動態的優先順序和靜態的優先順序來決定程序被cpu處理的順序。乙個擁有更高程序優先順序的程序擁有更大的機率得到處理器的處理。核心根據程序的行為和特性使用試探演算法,動態地調整調高或調低動態優先順序。乙個使用者程序可以通過使用程序的nice值間接改變靜態優先順序。...