如何修复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.mzph.cn/news/675726.shtml

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

相关文章

Vue3快速上手(一)使用vite创建项目

一、准备 在此之前,你的电脑,需要安装node.js,我这边v18.19.0 wangdymb 2024code % node -v v18.19.0二、创建 执行npm create vuelatest命令即可使用vite创建vue3项目 有的同学可能卡主不动,可能是npm的registry设置的问题 先看下&#x…

C语言----内存函数

内存函数主要用于动态分配和管理内存,它直接从指针的方位上进行操作,可以实现字节单位的操作。 其包含的头文件都是:string.h memcpy copy block of memory的缩写----拷贝内存块 格式: void *memcpy(void *dest, const void …

数据库切片大对决:ShardingSphere与Mycat技术解析

欢迎来到我的博客,代码的世界里,每一行都是一个故事 数据库切片大对决:ShardingSphere与Mycat技术解析 前言ShardingSphere与Mycat简介工作原理对比功能特性对比 前言 在数据库的舞台上,有两位颇受欢迎的明星,它们分别…

基于OpenCV灰度图像转GCode的螺旋扫描实现

基于OpenCV灰度图像转GCode的螺旋扫描实现 引言激光雕刻简介OpenCV简介实现步骤 1.导入必要的库2. 读取灰度图像3. 图像预处理4. 生成GCode5. 保存生成的GCode6. 灰度图像螺旋扫描代码示例 总结 系列文章 ⭐深入理解G0和G1指令:C中的实现与激光雕刻应用⭐基于二值…

攻防世界 CTF Web方向 引导模式-难度1 —— 1-10题 wp精讲

目录 view_source robots backup cookie disabled_button get_post weak_auth simple_php Training-WWW-Robots view_source 题目描述: X老师让小宁同学查看一个网页的源代码,但小宁同学发现鼠标右键好像不管用了。 不能按右键,按F12 robots …

springboot微信小程序uniapp学习计划与日程管理系统

基于springboot学习计划与日程管理系统,确定学习计划小程序的目标,明确用户需求,学习计划小程序的主要功能是帮助用户制定学习计划,并跟踪学习进度。页面设计主要包括主页、计划学习页、个人中心页等,然后用户可以利用…

Elasticsearch(四)

是这样的前面的几篇笔记,感觉对我没有形成知识体系,感觉乱糟糟的,只是大概的了解了一些基础知识,仅此而已,而且对于这技术栈的学习也是为了在后面的java开发使用,但是这里的API学的感觉有点乱!然…

【零基础入门TypeScript】Union

目录 语法:Union文字 示例:Union类型变量 示例:Union 类型和函数参数 Union类型和数组 示例:Union类型和数组 TypeScript 1.4 使程序能够组合一种或两种类型。Union类型是表达可以是多种类型之一的值的强大方法。使用管道符号…

高仿原神官网UI 纯html源码

高仿原神官网UI源码介绍 如果您希望打造一个与原神官方网站相似的外观和用户体验,但又不想使用复杂的框架或模板,那么我们的高仿原神官网UI源码将是一个完美的选择。它采用纯HTML5构建,无需任何额外的CSS或JavaScript库支持,即可…

代码随想录算法训练营第四十六天(动态规划篇)|01背包(滚动数组方法)

01背包(滚动数组方法) 学习资料:代码随想录 (programmercarl.com) 题目链接(和上次一样):题目页面 (kamacoder.com) 思路 使用一维滚动数组代替二维数组。二维数组的解法记录在:代码随想录算…

C#,十进制展开数(Decimal Expansion Number)的算法与源代码

1 十进制展开数 十进制展开数(Decimal Expansion Number)的计算公式: DEN n^3 - n - 1 The decimal expansion of a number is its representation in base -10 (i.e., in the decimal system). In this system, each "decimal place…

Zabbix 配置实时开通的LDAP认证-基于AD

介绍 本教程适用于6.4-7.0版本的Zabbix,域控(AD)使用Windows Server 2022搭建,域控等级为 2016。 域控域名为 songxwn.com 最终实现AD用户统一认证,统一改密,Zabbix用户自动添加。(6.4之前不…

使用npm包js-web-screen-shot做网页截图,可以对截图加文字,箭头等等,类似于微信截图

<template><div class"m-feedback-wrap" :style"{ top: ${feedbackHeight}px }"><div class"m-feedback-icon-wrap"><el-tooltipclass"item"effect"dark"content"内容"placement"left-…

# 流量回放工具之 Goreplay 安装及初级使用

流量回放工具之 Goreplay 安装及初级使用 文章目录 流量回放工具之 Goreplay 安装及初级使用GoReplay使用场景环境搭建Golang环境安装Goreplay 安装 Windows 下使用基本使用其它使用注意点 GoReplay GoReplay是一个开源工具&#xff0c;用于捕获和重放实时HTTP流量到测试环境中…

Java学习网络编程

Java学习网络编程 大纲 网络相关概念IP地址网络协议InetAdressSocket 具体案例 1. 网络相关概念 网络 网络通信 2. IP地址 域名 3.网络协议 4. InetAdress 获得本机的名字和IP public static void main(String[] args) throws UnknownHostException {InetAddress inetA…

前端学习之路(6) npm详解

npm 是什么&#xff1f; npm&#xff08;node package manager&#xff09;&#xff1a;node.js 的包管理器&#xff0c;用于node插件管理&#xff08;包括安装、卸载、管理依赖等&#xff09; &#xff0c;npm 是随同 node.js 一起安装的包管理工具&#xff0c;能解决 node.j…

小项目:蓝牙模块点亮RGB三色灯

在之前的教程中&#xff0c;我们学习了蓝牙模块的原理&#xff0c;并动手写了驱动&#xff0c;实现了串口的接收和发送。本次我们就来教大家如何使用蓝牙串口控制灯。这是一个简单的示例&#xff0c;展示了如何将蓝牙通信与硬件控制相结合&#xff0c;实现远程控制的功能。你也…

vue3+vite+ts 配置commit强制码提交规范配置 commitlint

配置 git 提交时的 commit 信息&#xff0c;统一提交 git 提交规范 安装命令: npm install -g commitizen npm i cz-customizable npm i commitlint/config-conventional commitlint/cli -D 文件配置 根路径创建文件 commitlint.config.js module.exports {// 继承的规…

【Linux】进程学习(一):基本认识

目录 1.基本概念2.初步理解3.描述进程-PCB3.1task_struct-PCB的一种3.2task_ struct内容分类 4.组织进程5.查看进程5.1通过ps指令查看5.2通过系统目录查看 6.通过系统调用获取进程的PID和PPID7.通过系统调用创建进程-fork初识 1.基本概念 课本概念&#xff1a;程序的一个执行实…

QGIS介绍

一.基本概念 QGIS的官方网站为&#xff1a;https://www.qgis.org Github地址&#xff1a;https://github.com/qgis/QGIS QGIS采用开源证书GNU GPLv2 (GNU General Public License version 2&#xff09;发布&#xff0c;主要采用C语言开发&#xff0c;用户界面依赖Qt平台。 二…