增強pthread 中的執行緒優先權:綜合指南
在Linux 環境中使用pthread 時,通常需要將執行緒優先權調整為優化性能。本指南解決了執行緒優先權範圍和描述的不確定性,以及與設定過高優先順序相關的潛在風險。
Linux 中的執行緒優先權
Linux採用各種排程策略,每種策略都有自己的優先權系統。預設策略 SCHED_OTHER 缺乏優先選項,但提供了可以在策略內調整的「良好」等級。
要有效修改執行緒優先權,必須切換到備用排程策略,例如 SCHED_BATCH ,則不需要root權限。其他「正常」策略包括 SCHED_IDLE 和 SCHED_OTHER,而即時策略包括 SCHED_FIFO 和 SCHED_RR。
使用即時策略時請小心,因為使用不當可能會導致系統掛起並需要root 權限才能存取.
確定機器能力
要確定您的電腦的功能,您可以使用util-linux 軟體包中的chrt 實用程式。以下命令列出了各種調度策略的最小和最大優先順序:
$ chrt -m
例如,輸出可能類似於:
SCHED_OTHER min/max priority : 0/0
SCHED_FIFO min/max priority : 1/99
SCHED_RR min/max priority : 1/99
SCHED_BATCH min/max priority : 0/0
SCHED_IDLE min/max priority : 0/0
最佳化執行緒優先權
調度策略和優先權的選擇取決於特定的應用程式需求。若要最大限度地減少時間分配,請考慮使用 SCHED_BATCH 或調整 SCHED_OTHER 中的良好等級。
免責聲明: 提供的所有資源部分來自互聯網,如果有侵犯您的版權或其他權益,請說明詳細緣由並提供版權或權益證明然後發到郵箱:[email protected] 我們會在第一時間內為您處理。
Copyright© 2022 湘ICP备2022001581号-3