V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Distributions
Ubuntu
Fedora
CentOS
中文资源站
网易开源镜像站
greenskinmonster
V2EX  ›  Linux

推一波适合桌面使用的内核 ck-sources : Con Kolivas' high performance patchset

  •  
  •   greenskinmonster ·
    GreenSkinMonster · 2017-06-26 16:00:28 +08:00 · 3957 次点击
    这是一个创建于 2467 天前的主题,其中的信息可能已经有所发展或是发生改变。

    作为 Gentoo 用户,闲着没事就是编译系统。 但是编译一些大包的时候比如 chromium/web-kit 这种,CPU 全满,桌面应用就开始有卡顿情况。如果再开个 Android Studio 跑个模拟器就更明显,模拟器里面滚动掉帧明显。

    这时候就想找个办法解决这个问题。 make.conf 的 PORTAGE_NICENESS=10,没什么用处。 尝试使用 cgroup 限制 portage 编译使用的 CPU 资源,也不是很满意。 按照下文配置,基本没觉出什么限制效果,可能是我配置的还不对。 https://gist.github.com/moschlar/70d9a8375b86cd4d83dd

    因为一直使用的是官方的 gentoo-sources,然后想起好久没用 ck-sources 了。为桌面系统设计的内核调度器,N 年前用的时候,还不算稳定。 作者 Con Kolivas 是澳大利亚的一个麻醉医师,曾经是 Linux 内核团队一员,后来发生内讧,自己退团做调度器,怒称自己调度器为为脑残调度器 (BFS, Brain Fuck Scheduler) https://zh.wikipedia.org/zh-cn/%E5%BA%B7%E6%81%A9%C2%B7%E7%A7%91%E9%87%8C%E7%93%A6%E6%96%AF

    看了下最新的 CPU 调度器已经进化为 MuQSS,IO 调度器为 BFQ。

    安装配置参考各发行版文档,不说了。配置完成后,确认下自己的调度器已经生效。 注意 4.10 版的 ck-sources 有 bug,直接用 4.11 或者以上的吧。

    $ dmesg | grep -i muqss
    ...
    MuQSS CPU scheduler v0.120 by Con Kolivas.
    
    cat /sys/block/sda/queue/scheduler
    

    最后说下最重要的,就是使用效果,我认为是 99%的完美。

    在绝大多数场景下,系统非常流畅。没什么负载的时候,和其它内核没什么差别。 重点是在大负载编译场景下,桌面应用比如浏览器操作、Android 模拟器,反应迅速,跟空闲时差不多,比官方内核改进非常显著。

    说下 1%不完美的时候,有时负载达到极限的时候,系统会出现严重的卡顿,鼠标不动,键盘也没反映。我碰到的几次场景都是一边编译一边用 Android Studio 和模拟器(基于 kvm ),没有死机,等待几秒,系统会自行恢复。运行 dmesg,会输出很多与 kvm 相关的错误信息。至于啥情况会触发,是不是只有用 kvm 功能的时候才出现,我也说不准。

    可能是 MuQSS 跟 kvm 用到的 cgroup cpu limit 功能有冲突?

    MuQSS patched kernels and systemd It is a common mistake to think that MuQSS does not support cgroups. It does but not all the cgroup features (e.g. CPU limiting will not work).

    结论,如果你是 Linux 桌面用户,特别有大负载操作影响桌面流畅度的情况,ck-sources 非常值得尝试一下。

    6 条回复    2017-06-27 12:19:07 +08:00
    ooxxcc
        1
    ooxxcc  
       2017-06-26 16:07:50 +08:00
    archlinux 用户,用了挺久 linux-zen 了……内核 4.11 之后开 kvm 虚拟机偶尔会卡顿,dmesg 里面有 warning tcp_fastretrans_alert,暂时没啥头绪
    greenskinmonster
        2
    greenskinmonster  
    OP
       2017-06-26 16:17:42 +08:00
    @ooxxcc 嗯,你们 arch 用户就爱搞些奇技淫巧。
    zen 的内核我也以前用过,不过以前用的时候都没觉出什么特别的来,反而不如官方的稳定。
    这次也试了 pf 内核,感觉跟 ck 差不多吧。
    sunzhenyucn
        3
    sunzhenyucn  
       2017-06-27 10:19:59 +08:00
    arch 衍生版的话应该没问题吧= =
    liuxu
        4
    liuxu  
       2017-06-27 10:29:17 +08:00
    我时间我也玩玩
    greenskinmonster
        5
    greenskinmonster  
    OP
       2017-06-27 12:00:38 +08:00
    @sunzhenyucn 各发行版都支持,区别就是发行版有没有包括 ck 的包,能不能通过包管理软件安装内核。ck 出来这么长时间,感觉应该支持度比较好。
    sunzhenyucn
        6
    sunzhenyucn  
       2017-06-27 12:19:07 +08:00 via Android
    @greenskinmonster 好 谢谢了
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   1066 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 32ms · UTC 22:44 · PVG 06:44 · LAX 15:44 · JFK 18:44
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.