V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
ViolaH
V2EX  ›  macOS

终于发现了让我的 Mac 卡了一年多的真凶: CursorUIViewService

  •  
  •   ViolaH · 5 天前 · 3009 次点击

    前几天终于找到了困扰我电脑卡顿一年多的元凶。这个问题从用 Sonoma 的时候就有,升级了 Sequoia 问题也没有改善。以为是 M1 性能不够了,结果换了 M4 问题还是没有解决。

    我的具体情况是:

    1. 打开 Edge 浏览器时会有一定概率掉帧、卡顿。
    2. 我日常需要在中日英三种语言间切换,时间久了后,输入法切换会变得异常缓慢,甚至会吞字。
    3. 电脑开机时间长了(一两天),整个系统都会变卡。

    后来才发现,根源在苹果 Sonoma 系统中的一个新增功能——CursorUIViewService(光标附近的输入法切换指示器)。这个服务有时存在内存泄漏的 bug:我的电脑开机运行一两天后,其内存占用会飙升至 1GB 以上,并且无响应,导致系统变得极其卡顿。即便没有内存泄漏,每当输入焦点切换触发输入法变化时,系统都会短暂卡顿。

    我的电脑安装了 Input Source Pro (一个控制不同应用默认输入法行为的 App ),其中设置了 Edge 的地址栏默认使用英文输入法。当系统当前处于非英文输入法状态时,打开 Edge 会触发输入法切换,这个切换过程同时触发了 CursorUIViewService 的输入法指示器状态更新,从而导致 Edge 卡顿。

    我以前也想过可能是 CursorUIViewService 的问题,无响应的时候也手动杀过服务,但始终没想到和 Edge 之间有什么关系,这下破案了。

    最后在网上找到了禁用 CursorUIViewService 的方法。通过以下代码彻底禁用后,电脑终于恢复流畅,再也没有卡顿问题。可以使用 Input Source Pro 自带的输入法指示器作为平替。

    代码(运行后会立即重启系统):

    sudo mkdir -p /Library/Preferences/FeatureFlags/Domain && sudo /usr/libexec/PlistBuddy -c "Add 'redesigned_text_cursor:Enabled' bool false" /Library/Preferences/FeatureFlags/Domain/UIKit.plist && sudo shutdown -r now
    

    希望对有类似问题的朋友有所帮助!

    第 1 条附言  ·  1 天前

    根据19楼的内容做一些补充:

    不一定是因为 Input Source Pro ,有自动切换输入法的应用都有可能引起这个 CursorUIViewService 出问题无响应卡顿,比如 Alfred 就能设置激活输入框时自动切到英文输入法。

    22 条回复    2024-11-29 16:46:23 +08:00
    zhongerbing
        1
    zhongerbing  
       5 天前   ❤️ 1
    我的 CursorUIViewService 占用好像不会很高,是不是和装了其他 app 有关
    gklll
        2
    gklll  
       5 天前   ❤️ 3
    Input Source Pro 问题很大,我 macOS 好几次卡死,找来找去最后定位到他,已卸载
    cincout
        3
    cincout  
       5 天前   ❤️ 1
    这个貌似是苹果中文输入法的问题, 卡顿的时候, 忍住卡顿, 不要用输入法, 鼠标点开活动监视器, 找到简体中文输入法, 结束进程, 就可以恢复正常
    weilongs
        4
    weilongs  
       5 天前   ❤️ 1
    我这里看只有 24M-25M 的占用,也许是其他 app 导致他内存飙升吧.
    MackMa
        5
    MackMa  
       5 天前   ❤️ 1
    我也遇到过这个问题,同样是安装了 Input Source Pro ,通过在站内搜索,追查到了 CursorUIViewService 这个进程。
    结合本贴的案例来看,估计是 Input Source Pro 的问题。卸载此软件后没有再复现,用微信输入法做平替了。
    ViolaH
        6
    ViolaH  
    OP
       5 天前
    @cincout 是不一样的问题,你说的简体输入法卡顿问题应该在 macOS 14.x 修复了
    ViolaH
        7
    ViolaH  
    OP
       5 天前
    @zhongerbing
    @gklll
    @weilongs
    @MackMa
    感谢回复,这么看可能是 Input Source Pro 导致 CursorUIViewService 出现问题,ISP 的作者也在 V 站,不过这个项目看起来已经被搁置或者放弃的样子,尝试 @iLionel 一下看看是否能定位问题。
    ViolaH
        8
    ViolaH  
    OP
       5 天前
    @gklll
    @MackMa
    请问有什么 ISP 的平替吗,以及微信输入法是不是没有日语
    ViolaH
        9
    ViolaH  
    OP
       5 天前
    在 Reddit 之类的国外社区也能找到 CursorUIViewService 无响应相关的问题,我想应该不都是使用了 Input Source Pro (这软件基本就国人用吧),可能也有一些其他的问题
    abigeater
        10
    abigeater  
       5 天前   ❤️ 1
    刚才看了下我 CursorUIViewService 在输入的时候也很飙高,但我没试用 input source pro ,试了 OP 的代码,希望能让我的 intel 末代再坚持几年。
    neptuno
        11
    neptuno  
       5 天前
    淦,今天早上我还以为是 cursor 挂了,kill 掉 CursorUIViewService 服务,直接系统卡死了。
    jarryson
        12
    jarryson  
       5 天前
    只有在时间机器,或者恢复备份后,才发现输入卡顿,无法忍受的卡顿
    SaiyZhao
        13
    SaiyZhao  
       5 天前
    我的更奇葩,新 m4 ,待机的时候发烫,看了下有两个 vs 的进程 Code Helper cpu 占用率 284%。。。。。
    airwt
        14
    airwt  
       5 天前
    这个功能能在设置中关闭么
    ViolaH
        15
    ViolaH  
    OP
       5 天前
    @airwt 目前没有关闭选项,只能用代码关闭
    ViolaH
        16
    ViolaH  
    OP
       5 天前
    @neptuno 对的,这个在无响应的时候不能 kill ,直接卡死系统,只能强制重启
    mimizi
        17
    mimizi  
       4 天前
    我这里在活动监视器里一直显示未响应,强制干掉整个 UI 就卡死了。
    gklll
        18
    gklll  
       4 天前
    不考虑 Input Source Pro 的话,macOS 自带输入法确实之前本身就有 bug ,但我记得最新的大版本还是上个大版本的末尾某个小版本开始,就修复了,如果你用的是最新的系统,应该不大会出问题
    ITisCool
        19
    ITisCool  
       4 天前   ❤️ 1
    不一定是因为 Input Source Pro ,有自动切换输入法的应用都有可能引起这个 CursorUIViewService 出问题无响应卡顿,比如 Alfred 就能设置激活输入框时自动切到英文输入法。这个 CursorUIViewService 的提供的功能是切换输入法时光标旁的那个图形提示气泡。之前我也出现切输入法后一两秒卡顿我还怀疑是微信输入法的问题,然后卸掉换了 RIME 用了一段时间问题依旧会出现,仔细一查才知道真凶是 CursorUIViewService ,禁用掉后再也没发生这样的卡了
    arvinxian
        20
    arvinxian  
       4 天前
    @ITisCool 笑死 刚看了一下 我的 CursorUIViewService 就是卡死状态
    Lenic
        21
    Lenic  
       4 天前
    Mark 感谢 OP
    amnaruto
        22
    amnaruto  
       1 天前
    文章没看完我就删了 Iuput source pro 。过了几天,刚才又发现出行这个问题了,一卡一卡的,错怪他了,哈哈
    PhDLuffy
        23
    PhDLuffy  
       1 天前
    mark ,感谢分享
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2702 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 21ms · UTC 12:26 · PVG 20:26 · LAX 04:26 · JFK 07:26
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.