如何修复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进行了更新。
我们尚未测试此修复程序,因此无法确定它是否对您有用。如果您有兴趣尝试一下,请按以下步骤进行:
- 使用Time Machine或其他备份解决方案为Mac创建备份。
- 通过启动到恢复模式并运行
csrutil disable命令来关闭系统完整性保护。 - 遵循Viktor的方法。首先使用命令查找Mac的型号。
system_profiler -detailLevel mini | grep "Model Identifier:" - 运行以下命令:
-
cd /System/Library/Extensions/IOPlatformPluginFamily.kext/Contents/PlugIns/ACPI_SMC_PlatformPlugin.kext/Contents/Resources
-
- 移动并备份与模型相关的文件。例如,如果您的标识符是
MacBookPro8,2您将运行:-
sudo mv MacBookPro8_2.plist MacBookPro8_2.bak
-
- 重新引导进入恢复模式,并使用该命令再次启用系统完整性保护。
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(自己命名的,叫啥都可以ÿ…...
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(换源)
根据之前的内容基础,本小点的内容主要涉及到的内容是比较重要的文本Dockerfile 1. 编辑Dockerfile 启动命令行终端(在自己的工作空间当中),创建和编辑Dockerfile。 vim Dockerfile然后写入以下内容 # 使用一个基础镜像 FROM ubuntu:late…...
「递归算法」:二叉树剪枝
一、题目 给你二叉树的根结点 root ,此外树的每个结点的值要么是 0 ,要么是 1 。 返回移除了所有不包含 1 的子树的原二叉树。 节点 node 的子树为 node 本身加上所有 node 的后代。 示例 1: 输入: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(Natural Language Processing)是自然语言处理的缩写,是计算机科学和人工智能领域的一个研究方向。NLP致力于使计算机能够理解、处理和生成人类自然语言的能力。通过NLP技术,计算机可以通过识别和理解语言中的文本…...
容器库(5)-std::list
std::forward_list是可以从任何位置快速插入和移除元素的容器,不支持快速随机访问,支持正向和反向的迭代。 本文章的代码库: https://gitee.com/gamestorm577/CppStd 成员函数 构造、析构和赋值 构造函数 可以用元素、元素列表、迭代器…...
配置VMware实现从服务器到虚拟机的一键启动脚本
正文共:1666 字 15 图,预估阅读时间:2 分钟 首先祝大家新年快乐!略备薄礼,18000个红包封面来讨个开年好彩头! 虽然之前将服务器放到了公网(成本增加了100块,内网服务器上公网解决方案…...
第5讲小程序微信用户登录实现
小程序微信用户登录实现 小程序登录和jwt,httpclient工具类详细介绍可以看下小锋老师的 小程序电商系统课程:https://www.bilibili.com/video/BV1kP4y1F7tU application.yml加上小程序登录需要的参数,小伙伴们可以登录小程序后台管理&#…...
Kong 负载均衡
负载均衡是一种将API请求流量分发到多个上游服务的方法。负载均衡可以提高整个系统的响应速度,通过防止单个资源过载而减少故障。 在以下示例中,您将使用部署在两台不同服务器或上游目标上的应用程序。Kong网关需要在这两台服务器之间进行负载均衡&…...
基于Chrome插件的Chatgpt对话无损导出markdown格式(Typora完美显示)
Google插件名称为:ChatGPT to MarkDown plus, 下载地址为ChatGPT to MarkDown plus使用方法:见GitHub主页或插件介绍页面https://github.com/thisisbaiy/ChatGPT-To-Markdown-google-plugin/tree/main 我将源代码上传至了GitHub,欢迎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系统对比仿真。
操作环境: MATLAB 2022a 1、算法描述 NOMA(非正交多址)和OFDMA(正交频分多址)是两种流行的无线通信技术,广泛应用于现代移动通信系统中,如4G、5G和未来的6G网络。它们的设计目标是提高频谱效…...
RocketMQ延迟消息机制
两种延迟消息 RocketMQ中提供了两种延迟消息机制 指定固定的延迟级别 通过在Message中设定一个MessageDelayLevel参数,对应18个预设的延迟级别指定时间点的延迟级别 通过在Message中设定一个DeliverTimeMS指定一个Long类型表示的具体时间点。到了时间点后…...
云计算——弹性云计算器(ECS)
弹性云服务器:ECS 概述 云计算重构了ICT系统,云计算平台厂商推出使得厂家能够主要关注应用管理而非平台管理的云平台,包含如下主要概念。 ECS(Elastic Cloud Server):即弹性云服务器,是云计算…...
基于ASP.NET+ SQL Server实现(Web)医院信息管理系统
医院信息管理系统 1. 课程设计内容 在 visual studio 2017 平台上,开发一个“医院信息管理系统”Web 程序。 2. 课程设计目的 综合运用 c#.net 知识,在 vs 2017 平台上,进行 ASP.NET 应用程序和简易网站的开发;初步熟悉开发一…...
STM32+rt-thread判断是否联网
一、根据NETDEV_FLAG_INTERNET_UP位判断 static bool is_conncected(void) {struct netdev *dev RT_NULL;dev netdev_get_first_by_flags(NETDEV_FLAG_INTERNET_UP);if (dev RT_NULL){printf("wait netdev internet up...");return false;}else{printf("loc…...
相机Camera日志分析之三十一:高通Camx HAL十种流程基础分析关键字汇总(后续持续更新中)
【关注我,后续持续新增专题博文,谢谢!!!】 上一篇我们讲了:有对最普通的场景进行各个日志注释讲解,但相机场景太多,日志差异也巨大。后面将展示各种场景下的日志。 通过notepad++打开场景下的日志,通过下列分类关键字搜索,即可清晰的分析不同场景的相机运行流程差异…...
实现弹窗随键盘上移居中
实现弹窗随键盘上移的核心思路 在Android中,可以通过监听键盘的显示和隐藏事件,动态调整弹窗的位置。关键点在于获取键盘高度,并计算剩余屏幕空间以重新定位弹窗。 // 在Activity或Fragment中设置键盘监听 val rootView findViewById<V…...
Spring AI Chat Memory 实战指南:Local 与 JDBC 存储集成
一个面向 Java 开发者的 Sring-Ai 示例工程项目,该项目是一个 Spring AI 快速入门的样例工程项目,旨在通过一些小的案例展示 Spring AI 框架的核心功能和使用方法。 项目采用模块化设计,每个模块都专注于特定的功能领域,便于学习和…...
ui框架-文件列表展示
ui框架-文件列表展示 介绍 UI框架的文件列表展示组件,可以展示文件夹,支持列表展示和图标展示模式。组件提供了丰富的功能和可配置选项,适用于文件管理、文件上传等场景。 功能特性 支持列表模式和网格模式的切换展示支持文件和文件夹的层…...
pgsql:还原数据库后出现重复序列导致“more than one owned sequence found“报错问题的解决
问题: pgsql数据库通过备份数据库文件进行还原时,如果表中有自增序列,还原后可能会出现重复的序列,此时若向表中插入新行时会出现“more than one owned sequence found”的报错提示。 点击菜单“其它”-》“序列”,…...
结构化文件管理实战:实现目录自动创建与归类
手动操作容易因疲劳或疏忽导致命名错误、路径混乱等问题,进而引发后续程序异常。使用工具进行标准化操作,能有效降低出错概率。 需要快速整理大量文件的技术用户而言,这款工具提供了一种轻便高效的解决方案。程序体积仅有 156KB,…...
