2023年11月29日发(作者:)
如何修复Mac的“kernel_task”CPU使⽤率过⾼的Bug?
当计算机开始缓慢运⾏时,这从来都不是⼀件有趣的事情,但是当您弄不清它为何如此缓慢时,甚⾄会变得更糟。如果您已经关闭了所有程
序,并且Mac上的所有内容仍然感觉像是在糖蜜中移动,这可能是令⼈讨厌的kernel_task导致⾼CPU使⽤率的迹象。在Mac上,kernel_task
是赋予各种低级功能的名称,这些功能可使您的计算机的其余部分正常⼯作。这意味着弄清罪魁祸⾸可能是艰难的。我们已经看到了很多,
所以我们有⼀些技巧可以帮助您摆脱这个问题。
诊断慢速Mac
如果您的Mac似乎运⾏缓慢,正在产⽣⼤量热量,或者由于风扇速度过⾼⽽听起来好像即将起飞,那么您将需要打开Activity Monitor并找出
原因。从本质上讲,这相当于macOS与Windows Task Manager的等效关系。活动监视器是⽤于管理资源和流程的有⽤⼯具。
您可以使⽤Spotlight打开“活动监视器”:只需按Cmd + Space,然后开始键⼊“活动”,它应该会弹出。您还可以在“ 应⽤程序”>“实⽤程序”下
找到它,并且您可能希望将其固定在Dock上,以便在遇到重⼤问题时可以更快地进⾏访问。
您的计算机运⾏缓慢的原因应该在“ CPU”选项卡上显⽽易见。只需单击%CPU列标题即可按处理器使⽤情况来组织正在运⾏的进程。任何使
⽤⼤量处理能⼒的东西都会出现在顶部。当您的计算机在后台执⾏各种任务时,这些命令会四处移动。
为什么kernel_task是罪魁祸⾸?
您可以通过单击⼤多数进程,然后单击屏幕左上⾓的X来杀死它们。不幸的是,您不能对⼀个特定进程执⾏此操作:kernel_task。原因是
kernel_task实际上是macOS的⼀部分。
它不是⼀个单⼀的过程,⽽是⼀个标签下的⼀系列过程。在⼯作时,macOS在后台执⾏各种任务。其中包括通过⽹络发送和接收数据,将
数据写⼊和读取到磁盘,以及为Spotlight搜索索引新⽂件夹或磁盘。
此过程通常会在“ 内存”选项卡上使⽤⼤量可⽤的RAM ,但这不⽤担⼼。正在使⽤的RAM数量将根据需要增加和减少。但是,⾼CPU使⽤率
会使整个系统停滞不前,甚⾄导致偶尔的整个系统崩溃。
那么,如何阻⽌kernel_task对Mac的性能产⽣负⾯影响?
kernel_task问题的简单解决⽅案
在许多情况下,只需重启Mac即可⽴即解决问题。但是,如果您已经遇到此问题⼀段时间了,这不是永久的长期解决⽅案。相反,这是⼀个
短期修复,应可⽴即产⽣结果。
导致CPU使⽤率激增的任何因素都可能返回。因此,如果您遇到过重复的事件,您可能还想尝试重置系统管理控制器(SMC)。这很容易
做到,并且可以解决各种macOS问题。
重置SMC的说明根据您所使⽤的Mac型号⽽略有不同。因为它可以解决很多问题,所以我们有完整的指南,详细介绍了如何重置Mac的
SMC。它还涉及重置PRAM(Mac的另⼀部分,可能导致多个问题)。
针对kernel_task的其他解决⽅案⾼CPU使⽤率
对于所有与OS相关的问题,最明显的解决⽅法可能是更新到最新版本的macOS。只需启动系统偏好设置,单击软件更新,然后运⾏所有未
完成的Apple软件更新。
kernel_task进程导致CPU使⽤率较⾼的另⼀个常见原因是Adobe Flash。Flash对于浏览Web必不可少的时代已经过去了,但是对于特定的
Web应⽤程序或⽹站,您仍然可能需要Flash。
您可以使⽤Google Flash之类的浏览器来提供Flash(尽管可以选择),⽽不是保持Flash的安装。最有可能的是,您根本不需要Flash,因
此可以安全删除。
如果要完全删除Flash,请运⾏Adobe Flash Player安装管理器,然后单击“ 卸载”。
深⼊研究kernel_task CPU的⾼使⽤率
有些已经成功地删除了内核扩展,这些扩展是能够执⾏低级任务的代码模块。这些扩展中的绝⼤多数也称为“ kexts”,它们是Apple作为核⼼
macOS环境的⼀部分安装的。某些软件将安装第三⽅扩展程序作为驱动程序,或⽤于控制硬件。
检查第三⽅kext是否引起您的kernel_task问题的⼀种快速⽅法是将计算机重新启动到安全模式。为此,请重新启动计算机并在启动时按住
Shift键。安全模式仅加载所需的内核扩展,因此,如果在此环境中未发⽣问题,则表明第三⽅kext存在问题。
要深⼊了解这⼀点,请像往常⼀样重新启动系统并启动Terminal。然后,运⾏命令以查看当前正在加载哪些内核扩展。所有Apple扩
kextstat
展程序都将看起来像。同时,第三⽅驱动程序中将包含开发⼈员名称,例如,仅举⼏例。
.[etc]n-
deNKE
删除这些⽂件的最佳⽅法是卸载关联的软件。对于某些应⽤程序,这仅意味着将应⽤程序⽂件移⾄“废纸rash”,然后输⼊管理员密码以允许
更改。
其他可能包括您需要运⾏的PKG卸载程序⽂件。对于其他内容,请转到“ 系统偏好设置”,然后查找任何第三⽅偏好设置窗格。例
如,Paragon的NTFS驱动程序会在其设置旁边隐藏“ 卸载”选项。
从OS X El Capitan开始,Apple引⼊了⼀项新的安全功能,该功能破坏了许多第三⽅的修改。系统完整性保护(简称SIP)阻⽌应⽤程序向
Apple⾃⼰的应⽤程序中注⼊代码,以及阻⽌写⼊Apple认为对系统安全重要的驱动器的某些部分。
这样可以提⾼系统稳定性,因此,在现代版本的macOS中,您应该更少地看到此问题。
仍然有很⾼的CPU使⽤率?当所有其他⽅法都失败时该怎么办
这⾥的最终解决⽅案有点冒险:删除Apple⾃⼰的内核扩展。不建议这样做。但是,如果您尝试了其他所有⽅法,但仍然看到kernel_task导
致CPU使⽤率升⾼,那么您可以尝试使⽤此解决⽅案。
开发⼈员和博客作者Viktor Petersson撰写了⼤量有关kernel_task及其相关问题的⽂章。在他的情况下,这很可能是由不可靠的声卡引起
的。Petersson的最初⽂章主要针对Mac OS X Yosemite,尽管后来他⼜对El Capitan和Sierra进⾏了更新。
我们尚未测试此修复程序,因此⽆法确定它是否对您有⽤。如果您有兴趣尝试⼀下,请按以下步骤进⾏:
使⽤Time Machine或其他备份解决⽅案为Mac创建备份。
通过启动到恢复模式并运⾏命令来关闭系统完整性保护。
csrutil disable
遵循Viktor的⽅法。⾸先使⽤命令查找Mac的型号。
system_profiler -detailLevel mini | grep "Model Identifier:"
运⾏以下命令:
1.
cd /System/Library/Extensions//Contents/PlugIns/ACPI_SMC_/Contents/Resources
移动并备份与模型相关的⽂件。例如,如果您的标识符是您将运⾏:
MacBookPro8,2
1.
sudo mv MacBookPro8_ MacBookPro8_
重新引导进⼊恢复模式,并使⽤该命令再次启⽤系统完整性保护。
csrutil enable
同样,这是最后解决⽅法。仅在由于kernel_task导致Mac⽆法使⽤⽽⽆法完成任何⼯作时才尝试尝试。这不是短期解决⽅案,即使重新安装
操作系统后,它仍然存在。
即使这样,在每次主要软件更新或操作系统升级后,您也需要重复此过程,因为Apple会还原您移动的⽂件。
kernel_task Bug是⼀个新问题吗?
通常,升级到新版本的macOS会带来新的特性和功能,但也会带来bug。在开始挑战极限的较旧型号的硬件上尤其如此。如果您离不再⽀持
Mac的世代相距甚远,则可能意味着您的型号对于Apple⽽⾔并不是那么重要。
您最近是否升级了macOS版本?如果只有那样,您才开始在Mac上看到kernel_task的问题,那可能是罪魁祸⾸。如果您不依赖最新更新中
引⼊的新功能,则可以安全地降级。
发布评论