当前位置: 首页 > news >正文

如何修复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的问题,那可能是罪魁祸首。如果您不依赖最新更新中引入的新功能,则可以安全地降级。

相关文章:

如何修复Mac的“ kernel_task” CPU使用率过高的Bug?

当计算机开始缓慢运行时,这从来都不是一件有趣的事情,但是当您弄不清它为何如此缓慢时,甚至会变得更糟。如果您已经关闭了所有程序,并且Mac上的所有内容仍然感觉像是在糖蜜中移动,这可能是令人讨厌的kernel_task导致高…...

【NodeJS】006- API模块与会话控制介绍d

1.简介 1.1 接口是什么 接口是 前后端通信的桥梁 简单理解:一个接口就是 服务中的一个路由规则 ,根据请求响应结果 接口的英文单词是 API (Application Program Interface),所以有时也称之为 API 接口 这里的接口指的是『数据接口』&#…...

[UI5 常用控件] 08.Wizard,NavContainer

文章目录 前言1. Wizard1.1 基本结构1.2 属性1.2.1 Wizard:complete1.2.2 Wizard:finishButtonText1.2.3 Wizard:currentStep1.2.4 Wizard:backgroundDesign1.2.5 Wizard:enableBranching1.2.6 WizardStep:…...

EasyExcel分页上传数据

EasyExcel分页上传数据 一、实例 controller上传入口 PostMapping("/upload")ResponseBodyLog(title "导入工单", businessType BusinessType.IMPORT)public AjaxResult uploadFile(HttpServletRequest request, MultipartFile files) throws Exceptio…...

Spring Native 解放 JVM

一、Spring Native 是什么 Spring Native可以通过GraalVM将Spring应用程序编译成原生镜像,提供了一种新的方式来部署Spring应用。与Java虚拟机相比,原生镜像可以在许多场景下降低工作负载,包括微服务,函数式服务,非常…...

汇编的两道题

1.编写一个在显示器上显示一个笑脸字符的程序 看这段程序的结构,可以看出,每个代码段,带有segment的必须用ASSUME 来进行段分配。 PROG1 SEGMENT;PROG1段的开始ASSUME CS:PROG1;PROG1(自己命名的,叫啥都可以&#xff…...

Seurat - 聚类教程 (1)

设置 Seurat 对象 在本教程[1]中,我们将分析 10X Genomics 免费提供的外周血单核细胞 (PBMC) 数据集。在 Illumina NextSeq 500 上对 2,700 个单细胞进行了测序。可以在此处[2]找到原始数据。 我们首先读取数据。 Read10X() 函数从 10X 读取 cellranger 管道的输出&…...

Mac 版 Excel 和 Windows 版 Excel的区别

Excel是一款由微软公司开发的电子表格程序,广泛应用于数据处理、分析和可视化等领域。它提供了丰富的功能和工具,包括公式、函数、图表和数据透视表等,帮助用户高效地处理和管理大量数据。同时,Excel还支持与其他Office应用程序的…...

【报错解决】-bash: export: `-8‘: not a valid identifier 不是有效的标识符

现象 一登陆就提示-bash: export: -8’: not a valid identifier 不是有效的标识符 问题出现的原因 设置字符集时多写了空格 [rootdb1 ~]# cat >>/etc/profile<<EOF export LANGen_US.UTF -8(-8前不应有空格) EOF 解决方法 cd /etc vi profile 把export带有-8的…...

Docker-Learn(三)创建镜像Docker(换源)

根据之前的内容基础&#xff0c;本小点的内容主要涉及到的内容是比较重要的文本Dockerfile 1. 编辑Dockerfile 启动命令行终端&#xff08;在自己的工作空间当中&#xff09;,创建和编辑Dockerfile。 vim Dockerfile然后写入以下内容 # 使用一个基础镜像 FROM ubuntu:late…...

「递归算法」:二叉树剪枝

一、题目 给你二叉树的根结点 root &#xff0c;此外树的每个结点的值要么是 0 &#xff0c;要么是 1 。 返回移除了所有不包含 1 的子树的原二叉树。 节点 node 的子树为 node 本身加上所有 node 的后代。 示例 1&#xff1a; 输入&#xff1a;root [1,null,0,0,1] 输出&…...

Kafka下载(kafka和jdk、zookeeper、SpringBoot的版本对应关系)

文章目录 一、准备工作1、必须环境2、kafka使用自带的zookeeper还是自己单独部署zookeeper?二、下载一、准备工作 1、必须环境 kafka本身的开发语言是Scala,而Scala是基于jdk开发的,所以要先安装jdk kafka版本jdk版本kafka使用jdk版本官网说明1.0建议使用1.8https://kafka.…...

自然语言NLP

什么是NLP NLP&#xff08;Natural Language Processing&#xff09;是自然语言处理的缩写&#xff0c;是计算机科学和人工智能领域的一个研究方向。NLP致力于使计算机能够理解、处理和生成人类自然语言的能力。通过NLP技术&#xff0c;计算机可以通过识别和理解语言中的文本…...

容器库(5)-std::list

std::forward_list是可以从任何位置快速插入和移除元素的容器&#xff0c;不支持快速随机访问&#xff0c;支持正向和反向的迭代。 本文章的代码库&#xff1a; https://gitee.com/gamestorm577/CppStd 成员函数 构造、析构和赋值 构造函数 可以用元素、元素列表、迭代器…...

配置VMware实现从服务器到虚拟机的一键启动脚本

正文共&#xff1a;1666 字 15 图&#xff0c;预估阅读时间&#xff1a;2 分钟 首先祝大家新年快乐&#xff01;略备薄礼&#xff0c;18000个红包封面来讨个开年好彩头&#xff01; 虽然之前将服务器放到了公网&#xff08;成本增加了100块&#xff0c;内网服务器上公网解决方案…...

第5讲小程序微信用户登录实现

小程序微信用户登录实现 小程序登录和jwt&#xff0c;httpclient工具类详细介绍可以看下小锋老师的 小程序电商系统课程&#xff1a;https://www.bilibili.com/video/BV1kP4y1F7tU application.yml加上小程序登录需要的参数&#xff0c;小伙伴们可以登录小程序后台管理&#…...

Kong 负载均衡

负载均衡是一种将API请求流量分发到多个上游服务的方法。负载均衡可以提高整个系统的响应速度&#xff0c;通过防止单个资源过载而减少故障。 在以下示例中&#xff0c;您将使用部署在两台不同服务器或上游目标上的应用程序。Kong网关需要在这两台服务器之间进行负载均衡&…...

基于Chrome插件的Chatgpt对话无损导出markdown格式(Typora完美显示)

Google插件名称为&#xff1a;ChatGPT to MarkDown plus, 下载地址为ChatGPT to MarkDown plus使用方法&#xff1a;见GitHub主页或插件介绍页面https://github.com/thisisbaiy/ChatGPT-To-Markdown-google-plugin/tree/main 我将源代码上传至了GitHub&#xff0c;欢迎star, Is…...

react函数组件中使用context

效果 1.在父组件中创建一个createcontext并将他导出 import React, { createContext } from react import Bpp from ./Bpp import Cpp from ./Cpp export let MyContext createContext(我是组件B) export let Ccontext createContext(我是组件C)export default function App…...

【MATLAB源码-第137期】基于matlab的NOMA系统和OFDMA系统对比仿真。

操作环境&#xff1a; MATLAB 2022a 1、算法描述 NOMA&#xff08;非正交多址&#xff09;和OFDMA&#xff08;正交频分多址&#xff09;是两种流行的无线通信技术&#xff0c;广泛应用于现代移动通信系统中&#xff0c;如4G、5G和未来的6G网络。它们的设计目标是提高频谱效…...

HTML 语义化

目录 HTML 语义化HTML5 新特性HTML 语义化的好处语义化标签的使用场景最佳实践 HTML 语义化 HTML5 新特性 标准答案&#xff1a; 语义化标签&#xff1a; <header>&#xff1a;页头<nav>&#xff1a;导航<main>&#xff1a;主要内容<article>&#x…...

Vue记事本应用实现教程

文章目录 1. 项目介绍2. 开发环境准备3. 设计应用界面4. 创建Vue实例和数据模型5. 实现记事本功能5.1 添加新记事项5.2 删除记事项5.3 清空所有记事 6. 添加样式7. 功能扩展&#xff1a;显示创建时间8. 功能扩展&#xff1a;记事项搜索9. 完整代码10. Vue知识点解析10.1 数据绑…...

<6>-MySQL表的增删查改

目录 一&#xff0c;create&#xff08;创建表&#xff09; 二&#xff0c;retrieve&#xff08;查询表&#xff09; 1&#xff0c;select列 2&#xff0c;where条件 三&#xff0c;update&#xff08;更新表&#xff09; 四&#xff0c;delete&#xff08;删除表&#xf…...

反向工程与模型迁移:打造未来商品详情API的可持续创新体系

在电商行业蓬勃发展的当下&#xff0c;商品详情API作为连接电商平台与开发者、商家及用户的关键纽带&#xff0c;其重要性日益凸显。传统商品详情API主要聚焦于商品基本信息&#xff08;如名称、价格、库存等&#xff09;的获取与展示&#xff0c;已难以满足市场对个性化、智能…...

Vue3 + Element Plus + TypeScript中el-transfer穿梭框组件使用详解及示例

使用详解 Element Plus 的 el-transfer 组件是一个强大的穿梭框组件&#xff0c;常用于在两个集合之间进行数据转移&#xff0c;如权限分配、数据选择等场景。下面我将详细介绍其用法并提供一个完整示例。 核心特性与用法 基本属性 v-model&#xff1a;绑定右侧列表的值&…...

C# SqlSugar:依赖注入与仓储模式实践

C# SqlSugar&#xff1a;依赖注入与仓储模式实践 在 C# 的应用开发中&#xff0c;数据库操作是必不可少的环节。为了让数据访问层更加简洁、高效且易于维护&#xff0c;许多开发者会选择成熟的 ORM&#xff08;对象关系映射&#xff09;框架&#xff0c;SqlSugar 就是其中备受…...

根据万维钢·精英日课6的内容,使用AI(2025)可以参考以下方法:

根据万维钢精英日课6的内容&#xff0c;使用AI&#xff08;2025&#xff09;可以参考以下方法&#xff1a; 四个洞见 模型已经比人聪明&#xff1a;以ChatGPT o3为代表的AI非常强大&#xff0c;能运用高级理论解释道理、引用最新学术论文&#xff0c;生成对顶尖科学家都有用的…...

安卓基础(aar)

重新设置java21的环境&#xff0c;临时设置 $env:JAVA_HOME "D:\Android Studio\jbr" 查看当前环境变量 JAVA_HOME 的值 echo $env:JAVA_HOME 构建ARR文件 ./gradlew :private-lib:assembleRelease 目录是这样的&#xff1a; MyApp/ ├── app/ …...

jmeter聚合报告中参数详解

sample、average、min、max、90%line、95%line,99%line、Error错误率、吞吐量Thoughput、KB/sec每秒传输的数据量 sample&#xff08;样本数&#xff09; 表示测试中发送的请求数量&#xff0c;即测试执行了多少次请求。 单位&#xff0c;以个或者次数表示。 示例&#xff1a;…...

windows系统MySQL安装文档

概览&#xff1a;本文讨论了MySQL的安装、使用过程中涉及的解压、配置、初始化、注册服务、启动、修改密码、登录、退出以及卸载等相关内容&#xff0c;为学习者提供全面的操作指导。关键要点包括&#xff1a; 解压 &#xff1a;下载完成后解压压缩包&#xff0c;得到MySQL 8.…...