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

32 天前
 ViolaH

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

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

3950 次点击
所在节点    macOS
25 条回复
Lenic
31 天前
Mark 感谢 OP
amnaruto
28 天前
文章没看完我就删了 Iuput source pro 。过了几天,刚才又发现出行这个问题了,一卡一卡的,错怪他了,哈哈
PhDLuffy
28 天前
mark ,感谢分享
jerommix
25 天前
“cursoruiviewservice 是显示新文本字段光标的进程。这是当您打开 Caps Lock 或当前输入语言指示器时出现的微小向上箭头图标。用户表示,此过程有时会消耗大量 CPU 和 RAM 内存并且变得无响应。当使用 Caps Lock 键或仅选中文本字段而不键入任何内容时,可能会发生这种情况。
修复 cursoruiviewservice 滞后的最简单方法是使用 Terminal 禁用该进程。为此,请打开终端窗口并键入以下命令:
(在任何时候输入命令都要注意)
sudo defaults write /Library/Preferences/FeatureFlags/Domain/UIKit.plist redesigned_text_cursor -dict-add Enabled -bool NO
系统将提示您输入登录密码。您可能还需要重新启动 Mac 。”
ViolaH
25 天前
@jerommix 这和我主楼提到的方法一样啊,另外不要发疑似 AI 生成的内容
firstep
24 天前
我今天看任务管理器看到这个服务是红色的,并且进程后面括号显示“未响应”。
我问 gemini 说是这样关,怎么和 OP 的不一样。

# 修改系统配置文件(不推荐,风险较大)
警告: 误操作可能会导致系统无法启动。请谨慎操作,并事先备份重要数据。
打开 终端。
输入以下命令并回车:
Bash
sudo nano /System/Library/LaunchAgents/com.apple.CursorUIViewService.plist
请谨慎使用代码。

在打开的文件中,找到 <dict> 标签,添加以下内容:
XML
<key>Disabled</key>
<true/>
请谨慎使用代码。

按 Ctrl+O 保存,然后按 Ctrl+X 退出。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1092410

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX