遇到的问题
mac连接外接显示器之后,kernal_task占用的cpu飙升,通常达到500%,电脑卡顿,打字都是2s后才显示。遍寻方案无果,在英文网站上发现了解决方法。记录如下。
解决方案
osx版本 10.13.2 解决方案
- 开机时进入Recovery Mode(开机的时候按住Command + R)
- 选择语言之后,左上角 Utility > Terminal开启终端,命令行输入
csrutil disable
(禁用系统文件保护) - 重启,此处原文章要求修改此文件
/System/Library/Extensions/IOPlatformPluginFamily.kext/Contents/PlugIns/ACPI_SMC_PlatformPlugin.kext/Contents/Resources/[MacModelIdentifier].plist
其中MacModelIdentifier是指Mac的识别符,查看方式(Mac > 关于本机 > 系统报告 > 型号识别符),找到对应文件后,将此文件改为bugfix.plist
(或者其他任意名字)。
但是我的系统版本号为 11.4,并没有对应文件。 此时参考低版本的方法,将`/System/Library/Extensions/IOPlatformPluginFamily.kext/Contents/PlugIns/
目录下的X86PlatformShim.kext
改名为X86PlatformShim.kext.disabled
。 - 清除kext缓存 (不确定是否需要这步)
sudo touch /System/Library/Extensions
- 重启,查看kernal_task的CPU占用是否有所改善,如果可以的话,重新进入Recovery Mode,
csrutil enable
低版本解决方法
- 可能低版本没有系统文件保护,所以给出的资料就是高版本的其中几步。
通过重命名关闭kext
12cd /System/Library/Extensions/IOPlatformPluginFamily.kext/Contents/Pluginssudo mv X86PlatformShim.kext X86PlatformShim.kext.disabled清除缓存
sudo touch /System/Library/Extensions/
- 重启