日本熟妇hd丰满老熟妇,中文字幕一区二区三区在线不卡 ,亚洲成片在线观看,免费女同在线一区二区

內(nèi)核搶占模式的修改及相關(guān)說(shuō)明

更新時(shí)間:

Alibaba Cloud Linux 3系統(tǒng)(內(nèi)核5.10.134-17及更高版本)支持動(dòng)態(tài)切換內(nèi)核搶占模式(preempt dynamic),用戶可以根據(jù)具體需求選擇合適的搶占模式(例如在存在延遲要求的場(chǎng)景中,可采用voluntary搶占模式)。本文將介紹在Alibaba Cloud Linux 3系統(tǒng)(內(nèi)核5.10.134-17及更高版本)中對(duì)搶占模式的修改及相關(guān)說(shuō)明。

內(nèi)核搶占模式說(shuō)明

Alibaba Cloud Linux 3系統(tǒng)(內(nèi)核5.10.134-17及更高版本)支持以下兩種內(nèi)核搶占模式。

搶占模式

說(shuō)明

none

  • 內(nèi)核是不可搶占的,這意味著當(dāng)內(nèi)核正在執(zhí)行關(guān)鍵任務(wù)時(shí),該任務(wù)不會(huì)被中斷。上下文切換發(fā)生在系統(tǒng)調(diào)用返回用戶空間的時(shí)刻,而不會(huì)在內(nèi)核空間主動(dòng)進(jìn)行搶占。

  • 性能吞吐表現(xiàn)優(yōu)異,但可能引發(fā)時(shí)延問(wèn)題。

voluntary

  • 內(nèi)核會(huì)在特定的搶占點(diǎn)主動(dòng)釋放CPU控制權(quán)。

  • 時(shí)延表現(xiàn)相比于none有所提升,但其性能仍不及none

為什么Alibaba Cloud Linux 3不支持full模式。

除none和voluntary模式外,Linux upstream還支持full模式。full模式說(shuō)明如下:

  • 內(nèi)核可以在任意時(shí)刻被搶占。通過(guò)增加更多的代碼檢查點(diǎn),可以實(shí)現(xiàn)幾乎實(shí)時(shí)的任務(wù)調(diào)度,但這將增加內(nèi)核上下文切換的開(kāi)銷。

  • 此模式主要應(yīng)用于實(shí)時(shí)系統(tǒng)或?qū)憫?yīng)速度要求極高的應(yīng)用場(chǎng)景,適用于任務(wù)繁重且需快速響應(yīng)的桌面環(huán)境,以提供流暢的用戶體驗(yàn)和較高的交互性。

Alibaba Cloud Linux 3系統(tǒng)的內(nèi)核主要服務(wù)于云服務(wù)器,full模式的應(yīng)用場(chǎng)景與Alibaba Cloud Linux 3系統(tǒng)內(nèi)核的應(yīng)用場(chǎng)景幾乎沒(méi)有重疊。此外,合入動(dòng)態(tài)切換full的代碼后,嚴(yán)重影響了系統(tǒng)性能,多項(xiàng)Linux測(cè)試基準(zhǔn)出現(xiàn)超過(guò)10%的性能回退。

修改內(nèi)核搶占模式

Alibaba Cloud Linux 3系統(tǒng)(內(nèi)核5.10.134-17及更高版本)引入了以下兩種方式來(lái)修改內(nèi)核的搶占模式。

持久化修改內(nèi)核搶占模式

持久化修改內(nèi)核搶占模式,即使在重啟實(shí)例后,配置依然被保留。

通過(guò)在內(nèi)核的bootcmdline中添加或刪除preempt=none參數(shù),以實(shí)現(xiàn)對(duì)內(nèi)核搶占模式的修改。

  1. 查看當(dāng)前的搶占模式。

    sudo cat /sys/kernel/debug/sched_preempt
  2. 查看當(dāng)前內(nèi)核信息。

    sudo grubby --info=0
  3. 修改搶占模式。

    <kernel>需替換為步驟2中查詢的內(nèi)核版本,例如/boot/vmlinuz-5.10.134-17.2.al8.x86_64

    • 修改搶占模式為voluntary

      sudo grubby --update-kernel=<kernel> --remove-args="preempt=none"
    • 修改搶占模式為none

      sudo grubby --update-kernel=/boot/vmlinuz-<kernel> --args="preempt=none"
  4. 重啟服務(wù),使配置生效。

    sudo reboot
  5. 查看修改后的搶占模式。

    sudo cat /sys/kernel/debug/sched_preempt

臨時(shí)修改內(nèi)核搶占模式

通過(guò)debugfs接口臨時(shí)動(dòng)態(tài)修改內(nèi)核搶占模式,在重啟實(shí)例后失效。

本文演示如何將搶占模式修改為voluntary

  1. 查看當(dāng)前的搶占模式。

    sudo cat /sys/kernel/debug/sched_preempt

    結(jié)果如下所示,當(dāng)前搶占模式為none

    image

  2. 修改搶占模式為voluntary

    sudo sh -c 'echo voluntary > /sys/kernel/debug/sched_preempt'
  3. 查看修改后的搶占模式。

    sudo cat /sys/kernel/debug/sched_preempt

    結(jié)果如下所示,表明搶占模式為voluntary

    image

內(nèi)核搶占模式分析說(shuō)明

在E2E(End To End)場(chǎng)景下,對(duì)MySQL、Redis和Nginx在x86Arm64架構(gòu)下,采用nonevoluntary搶占模式進(jìn)行的基準(zhǔn)測(cè)試結(jié)果表明,在大多數(shù)情況下,none搶占模式具有更優(yōu)的性能,但兩種模式之間的性能差距相對(duì)較小。本文將以MySQL場(chǎng)景下的基準(zhǔn)測(cè)試為例進(jìn)行分析討論。

在x86和Arm64架構(gòu)下,分別測(cè)試了oltp_write_onlyoltp_read_onlyoltp_read_write的測(cè)試場(chǎng)景結(jié)果。測(cè)試結(jié)果表明,TPS和QPS越大,avg latencyavg 95th越小,表明性能表現(xiàn)越優(yōu)越。

說(shuō)明

以下圖中的所有性能數(shù)據(jù)均已將none的結(jié)果歸一化為1,以便更加清晰地展示nonevoluntary搶占模式下的性能對(duì)比。

  • x86

    image

  • Arm64

    image

根據(jù)測(cè)試數(shù)據(jù),x86Arm64在三種測(cè)試場(chǎng)景下的none搶占模式表現(xiàn)更為優(yōu)越。