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

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

  •  
  •   ViolaH · 16 小时 3 分钟前 · 1978 次点击

    前几天终于找到了困扰我电脑卡顿一年多的元凶。这个问题从用 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
    

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

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