如何修复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。然后,运行kextstat命令以查看当前正在加载哪些内核扩展。所有Apple扩展程序都将看起来像。同时,第三方驱动程序中将包含开发人员名称,例如,仅举几例。com.apple.[etc]com.paragon-software.filesystemsch.tripmode.TripModeNKE

删除这些文件的最佳方法是卸载关联的软件。对于某些应用程序,这仅意味着将应用程序文件移至“废纸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进行了更新。

我们尚未测试此修复程序,因此无法确定它是否对您有用。如果您有兴趣尝试一下,请按以下步骤进行:

  1. 使用Time Machine或其他备份解决方案为Mac创建备份。
  2. 通过启动到恢复模式并运行csrutil disable命令来关闭系统完整性保护。
  3. 遵循Viktor的方法。首先使用命令查找Mac的型号。system_profiler -detailLevel mini | grep "Model Identifier:"
  4. 运行以下命令:
    1. cd /System/Library/Extensions/IOPlatformPluginFamily.kext/Contents/PlugIns/ACPI_SMC_PlatformPlugin.kext/Contents/Resources
  5. 移动并备份与模型相关的文件。例如,如果您的标识符是MacBookPro8,2您将运行:
    1. sudo mv MacBookPro8_2.plist MacBookPro8_2.bak
  6. 重新引导进入恢复模式,并使用该命令再次启用系统完整性保护。csrutil enable

同样,这是最后解决方法。仅在由于kernel_task导致Mac无法使用而无法完成任何工作时才尝试尝试。这不是短期解决方案,即使重新安装操作系统后,它仍然存在。

即使这样,在每次主要软件更新或操作系统升级后,您也需要重复此过程,因为Apple会还原您移动的文件。

kernel_task Bug是一个新问题吗?

通常,升级到新版本的macOS会带来新的特性和功能,但也会带来bug。在开始挑战极限的较旧型号的硬件上尤其如此。如果您离不再支持Mac的世代相距甚远,则可能意味着您的型号对于Apple而言并不是那么重要。

您最近是否升级了macOS版本?如果只有那样,您才开始在Mac上看到kernel_task的问题,那可能是罪魁祸首。如果您不依赖最新更新中引入的新功能,则可以安全地降级。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/460337.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

如何从iPhone15上恢复意外删除的数据文件(备忘录、通讯录、照片等)

您是否正在寻找恢复 Apple 设备上丢失数据的方法?这是最好用的 iPhone 15数据恢复软件的汇总。 iPhone 数据恢复软件允许从Apple 设备中检索丢失或删除的数据。随着越来越依赖智能手机来存储个人和专业信息,数据丢失可能是一种令人沮丧和压力很大的体验…

第四篇:数据库安装(命令行)

数据库命令行界面安装 mysql官网,下载解压 https://dev.mysql.com/downloads/mysql/ 在安装之前先去检查一下,本地计算机的用户合组 winr(输入lusrmgr.msc) -点击组-双击administrator 如果只有这两个,那么就添加一下,提高网络服务的权限(避免出现mysql启动失败) …

Gazebo的初始启动问题

在机器人开发之中一般初始启动会输入以下语句: ros2 launch gazebo_ros gazebo.launch.py 通常都会报错,原因是路径并未添加,输入下列语句到.bashrc即可 source /usr/share/gazebo/setup.bash

整合RabbitMQ实现消息异步发送

消息队列中间件 消息队列中间件是分布式系统中重要的组件,主要解决应用耦合,异步消息,流量削峰等问题。 中间件最标准的用法是生产者生产消息传送到队列,消费者从队列中拿取消息并处理,生产者不用关心是谁来消费&#…

开源!免费!Hugging Face推出GPT商城

Hugging Face发布开源AI助手制造工具,与OpenAI的定制GPT形成竞争 Hugging Face今年1月31日推出一款开源AI代码库——Hugging Chat Assistants,允许用户轻松创建特定功能的定制AI聊天机器人。 不同于OpenAI的ChatGPT商城需要每月20美金成为会员才能使用…

牛客网SQL进阶127: 月总刷题数和日均刷题数

官网链接: 月总刷题数和日均刷题数_牛客题霸_牛客网现有一张题目练习记录表practice_record,示例内容如下:。题目来自【牛客题霸】https://www.nowcoder.com/practice/f6b4770f453d4163acc419e3d19e6746?tpId240 0 问题描述 基于练习记录表…

【Web】vulhub Fastjson反序列化漏洞复现学习笔记

目录 1.2.24 RCE CVE-2017-18349 复现流程 原理分析 1.2.47 RCE CNVD-2019-22238 复现流程 原理分析 漏洞探测 1.2.24 RCE CVE-2017-18349 复现流程 vulhub启动靶场 用marshalsec启动LDAP/RMI服务 java -cp marshalsec-0.0.3-SNAPSHOT-all.jar marshalsec.jndi.LDAPRef…

TCP相关知识点

TCP相关知识点 参考: 《计算机网络》 (建议收藏)TCP协议灵魂之问,巩固你的网路底层基础 关于 TCP 三次握手和四次挥手,满分回答在此 (值得看) TCP处于网络体系结构中的运输层。 运输层主要为应用进程提供端到端的逻辑通信,然后对…

蓝桥杯Web应用开发-CSS3 新特性【练习一:属性有效性验证】

练习一&#xff1a;属性有效性验证 页面上有一个邮箱输入框&#xff0c;当你的输入满足邮箱格式时&#xff0c;输入框的背景颜色为绿色&#xff1b;当你的输入不满足要求&#xff0c;背景颜色为红色。 新建一个 index2.html 文件&#xff0c;在其中写入以下内容。 <!DOCTYP…

C++ AVL树

1.概念 二叉搜索树虽可以缩短查找的效率&#xff0c;但如果数据有序或接近有序二叉搜索树将退化为单支树&#xff0c;查找元素相当于在顺序表中搜索元素&#xff0c;效率低下。 因此&#xff0c;两位俄罗斯的数学家G.M.Adelson-Velskii 和E.M.Landis在1962年发明了一种解决上…

ueransim关于ue侧nas层相关代码解读

一.在文件UERANSIM\UERANSIM-3.2.6\src\ue\nas中enc.cpp中完成了NAS&#xff08;非接入层&#xff09;信令的加密和解密是通过NAS_ENC模块实现的。NAS_ENC模块负责将NAS信令消息进行加密&#xff0c;以确保其传输过程中的安全性。 具体来说&#xff0c;当UE发送NAS信令消息时&…

关于 Ant Design 的 Upload 组件使用 action 自动上传出现跨域问题的解决

问题描述 使用 Ant Design 的 Upload 组件时&#xff0c;可以通过 action 属性指定上传地址实现选择文件自动上传。但在我选择文件上传后浏览器控制台一直出现跨域错误。关键我已经在后端处理了跨域&#xff0c;还是一直会出现跨域错误。而且其它请求都可以正常处理跨域&#…