Linux 桌面使用推荐打开 preempt=full - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Distributions
Ubuntu
Fedora
CentOS
中文资源站
网易开源镜像站
anytk
V2EX    Linux

Linux 桌面使用推荐打开 preempt=full

  •  
  •   anytk 2024-08-20 15:05:04 +08:00 2486 次点击
    这是一个创建于 463 天前的主题,其中的信息可能已经有所发展或是发生改变。

    Linux Kernel 5.12 后支持 PREEMPT_DYNAMIC,与 realtime 版本需要修改 Kernel 代码不同,它允许在运行时切换内核的抢占模式,而不需要重新编译内核。目前支持的模式有:

    • PREEMPT_NONE: 无抢占模式,这种模式适用于 CPU 密集型任务,可以最大化吞吐量。

    • PREEMPT_VOLUNTARY: 默认模式。内核线程在某些特定的程序点点上可能会被抢占。相比 PREEMPT_NONE ,它提供了一定的低延迟,但不会像 PREEMPT 模式那样频繁地导致上下文切换。

    • PREEMPT_FULL: 这个模式下,内核是完全抢占的。当一个更高优先级的任务准备好运行时,当前运行的内核线程可能会被立即抢占。这个模式适合对实时性有较高要求的应用程序。

    一般来说,对服务器使用而言,重要的是吞吐量,但对于桌面应而言,延迟对于使用者更为敏感,尤其是多媒体音视频游戏使用。对于桌面使用推荐激活 full 模式。

    如果当前内核编译时使用 PREEMPT_DYNAMIC(可以通过 uname -a 命令检查) ,则可以通过以下方式激活 full 模式:

    通过修改 grub 引导内核参数,添加 preempt=full 来激活 full 模式

    # 编辑 grub 配置文件 sudo vim /etc/default/grub # 找到如下行,加入 preempt=full 内核参数 GRUB_CMDLINE_LINUX_DEFAULT="quiet" # 修改为 GRUB_CMDLINE_LINUX_DEFAULT="quiet preempt=full" # 更新 grub sudo update-grub 

    reddit 上有一些讨论可供参考: https://www.reddit.com/r/Fedora/comments/158fy6x/ive_turned_preemptfull_on_and_it_solved_most_of/

    5 条回复    2024-09-07 15:01:49 +08:00
    ProPh3t
        1
    ProPh3t  
       2024-08-22 16:35:59 +08:00
    锦上添花:打游戏把 gamemode 开起来,录音把 cpupower-gui 设成 perfomance 。
    xxb
        2
    xxb  
       2024-08-30 22:45:33 +08:00
    cpu 密集型 挖矿有帮助不?
    anytk
        3
    anytk  
    OP
       2024-09-02 08:31:00 +08:00
    @xxb 无,这个设置会增加内核进程/线程切换,尽可能让内核线程/进程公平竞争 CPU 资源,来保证一些低优先级/低竞争性的线程及时得到 CPU 时间片。最终呈现是系统整体吞吐量会有一些下降,但整体系统的体验延迟会有改善。
    qbqbqbqb
        4
    qbqbqbqb  
       2024-09-07 14:55:03 +08:00
    看了一下我用的发行版默认就是 full
    qbqbqbqb
        5
    qbqbqbqb  
       2024-09-07 15:01:49 +08:00
    补充一下,如果内核使用了 PREEMPT_DYNAMIC ,不仅可以通过内核参数开机的时候选择抢占模式,运行时也是可以随时更改的,看当前模式用下面的命令(需要 root )
    cat /sys/kernel/debug/sched/preempt
    修改的命令类似这样(先切换到 root shell ,不要直接 sudo ,shell I/O 重定向会有权限问题)
    echo full > /sys/kernel/debug/sched/preempt
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     876 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 703ms UTC 21:22 PVG 05:22 LAX 13:22 JFK 16:22
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86