- kernel_task грузит проц на 100% на MacOS BigSur
- Почему это происходит?
- Удаляем kernel_task на MacOS BigSur
- Отключаем защиту SIP
- Монтируем системный том для записи
- Удаляем IOPlatformPluginFamily.kext
- Создаем новый снимок и делаем его «по умолчанию»
- Скачать оригинальный файл IOPlatformPluginFamily.kext
- Комментарии
- Macbook 2015 и 4k Монитор или kernel_task жрет всю память?
- Процесс kernel_task на MacOS — что это?
- Что за процесс
- Как отключить
- Для MacOS Yosemite и передыдущих
- Для MacOS El Capitan и новее
- Kernel extensions in macOS
- Adding kexts on a Mac with Apple silicon
- Adding kexts on an Intel-based Mac with macOS 11
- Kernel extensions with System Integrity Protection
- Alternatives to kexts (macOS 10.15 or later)
kernel_task грузит проц на 100% на MacOS BigSur
При запуске любых длительных и «тяжелых» задач в Мониторинге системы можно увидеть неопознанный процесс kernel_task, который нагружает систему также как и сама задача. Мириться с этим не хочется, так как задача из-за этого быстрее не выполнится.
Будем разбираться и снижать нагрузку.
Почему это происходит?
Как пишет сама Apple, процесс kernel_task нужен для торможения запущенных программ с высокой интенсивностью. Но реалии таковы, что на BigSur процесс kernel_task нагружает процессор больше, чем «высокоинтенсивная» программа.
Просто так отключить на MacOS версии 11.3 и выше не получится. Нужно доставать бубен.
На последних MacOS присутствует система SSV , которая помогает предотвратить модификацию и удаление ПО от Apple. Она для этого использует моментальные снимки файловой системы APFS . Это клево, если во время обновления что-то пойдет не так, то произойдет автоматический откат на старую версию.
Фактически MacOS Big Sur больше не загружается с системного тома, а загружается из моментального снимка (копия системного тома). Системный том монтируется только для чтения. Если его смонтировать с правами записи, то любая модификация или удаление файлов будет оставаться только до перезагрузки. После повторного включения, система восстановит все изменения из снимка.
Решение есть — сделать новый снимок.
- отключаем защиту SIP ;
- монтируем системный том;
- удаляем IOPlatformPluginFamily.kext;
- создаем новый снимок;
- Включаем загрузку с него.
После всех манипуляций, загрузка ОС будет дольше обычной на 2 минуты.
Удаляем kernel_task на MacOS BigSur
Отключаем защиту SIP
Если у Вас оригинальный компьютер Mac, то необходимо загрузить его в режиме восстановления с помощью CMD + R при старте компьютера.
Если у Вас компьютер не Mac, но операционная система MacOS, то в меню запуска Clover или OpenCore нужно выбрать Recovery Mode.
В обоих случаях Вы загрузитесь в режиме восстановления. Открываем Утилиты -> Терминал и исполняем команды:
После этого заходим снова в режим восстановления. Выполняем команды:
Монтируем системный том для записи
Смотрим название системного раздела:
В нашем примере это диск номер 3 и раздел номер 5 (помечен полужирным) – disk3s5. Также запоминаем его название – MySSD.
Добавляем права на изменение:
Где \ 1 – важная дописка. Она нужна так как с таким именем уже есть символьная ссылка, а мы монтируем настоящий и MacOS добавляет в название символ «1». Слеш – показывает, что используется пробел.
Удаляем IOPlatformPluginFamily.kext
Удалять мы его полностью не будем, а для резерва перенесем в корень системного раздела.
Переносим файл IOPlatformPluginFamily.kext:
Создаем новый снимок и делаем его «по умолчанию»
Ставим на него метку «по умолчанию»:
Не забываем сделать перезагрузку:
После всего этого процесс останется в загруженных, но уже не будет нагружать систему как раньше.
Скачать оригинальный файл IOPlatformPluginFamily.kext
Если что-то пошло не так и Вы удалили IOPlatformPluginFamily.kext, то вот оригинальный kext от MacOS BigSur — IOPlatformPluginFamily.kext.zip
Комментарии
Спасибо за способ — он помог и Big Sur при загрузке проверяет созданный по данному гайду Snapshot системы без данного «кекста». Мне только интересно — можно ли включить защиту системы обратно? При попытке вернуть значения защиты во включенный режим система не стартует и переводит на экран ошибки загрузки.
Автор, на этапе Добавления прав на изменение терминал отвечает unknown special file or filesystem /Volumes/Macintosh. (почему то приписку HD не добавляет, хотя я писал)
Как быть? Спасибо
Не совсем понял, что такое HD у Вас? Раздел должен монтироваться с цифрой 1.
Спасибо за ответ! Macintosh HD – так называется мой SSD (по вашей аналогии с MySSD)
Я пишу так: sudo mount -uw /Volumes/Macintosh HD\ 1
И выдаёт unknown special file…
Тогда Вам нужно писать: sudo mount -uw /Volumes/Macintosh\ HD\ 1
Косая черта показывает символ пробела.
- Денис Юрьевич прокомментировал MultiKey не устанавливается, отозван сертификат
- Павел Urman прокомментировал Как закрыть крышку часов Tissot?
- AdminWay прокомментировал kernel_task грузит проц на 100% на MacOS BigSur
- Лев прокомментировал kernel_task грузит проц на 100% на MacOS BigSur
- AdminWay прокомментировал kernel_task грузит проц на 100% на MacOS BigSur
Драйвер для Cisco USB Console для 64 битной операционной системы
Как узнать кто провайдер по IP-адресу?
Если Вы используете материал моего блога, то будьте добры поставьте ссылку.
Источник
Macbook 2015 и 4k Монитор или kernel_task жрет всю память?
Имеется в наличии:
1) Macbook «15 2015
2) Старенький 24″ монитор.
3) 4K Монитор на 27″ (LG UltraFine 27UL650)
Пришла идея сделать из него системный блок, так как на iMac денег пока нет 😀
Купил 4K Монитор на 27″, беспроводную клаву и мышь. Подключил 4K монитор через DisplayPort, а старый монитор через HDMI. Крышку захлопнул, посмотрел на показания температуры — вроде не греется. Поюзал несколько дней в обычном режиме просмотра интернета, все отлично, доволен как слон, 4К монитор прекрасен, беспроводная клава занимает мало места, освободил кучу пространства на рабочем столе — все хорошо. Но как только сел работать, запускать ресурсоемкие приложения или несколько браузеров — тормозит все ужас как. Даже обычный Chrome с включенным Developer Tools лагает будто я его запустил на старом пентиуме.
В процессах запускается kernel_task и грузит на 300-500%, тормозит вся система. Как я узнал, запускается этот процесс, защищая ноутбук от перегрева, отбирая часть нагрузки с процессора на себя. Температура процессора — 60-70 градусов, не выше. Отключил оба монитора, все работает отлично, проц греется до 90+ градусов, все летает.
В чем может быть проблема? У меня мысли следующие:
1) Макбук старенький и уже не тянет 4К, нужно менять на что-то поновее.
2) Не тянет видеокарта и имеет смысл купить внешнюю.
3) Следует прочистить ноут от пыли, возможно, пытается перегреться из-за этого.
4) Прибить к чертям kernel_task
Источник
Процесс kernel_task на MacOS — что это?
Если у вас компьютер под управлением MacOS (MacBook или iMac), то вы не раз замечали в «Мониторе активности» процесс «kernel_task». Что это такое и почему он грузит систему — рассмотрим в нашей статье.
Данный системный процесс может значительно грузить «железо» устройства (особенно процессор). Нагрузка сопровождается увеличением скорости работы кулеров системы охлаждения.
Что за процесс
На сайте компании Apple указано, что основная функция «kernel_task» — управление температурой за счет «подавления» требовательных к производительности программ.
Если компьютер начинает нагреваться, то процесс запускается и ограничивает работу приложения, которое вызвало это повышение температуры. Процент нагрузки «kernel_task» пропорционально зависит от нагрева.
Как отключить
Особенно беспокоит данная проблема владельцев устаревших моделей Mac (2012 и более ранние) из-за невысокой производительности самого устройства. Решить это можно удалением некоторых компонентов. Рассмотрим два варианта.
Для MacOS Yosemite и передыдущих
Если у вас версия операционной системе младше, чем El Capitan, то процесс отключения будет выглядеть следующим образом.
- Зайдите в «Терминал» → введите по очереди две команды:
- defaults write com.apple.finder AppleShowAllFiles TRUE
- killall Finder
Откройте «Об этом Mac».
«Переход» → «Переход к папке».
Кликните ПКМ по файлу «IOPlatformPluginFamily.kext» → «Показать содержимое пакета».
- defaults write com.apple.finder AppleShowAllFiles FALSE
- killall Finder
Для MacOS El Capitan и новее
В новый версиях «яблочной» системы установлена защита целостности системы, которая более известна под именем «SIP». Из-за этого спсоб отличается от предыдущего.
- Выключите Mac.
- Во время включения зажмите комбинацию «⌘R» для вход в меню восстановления.
- Откройте раздел «Утилиты» → «Терминал».
Введите команду csrutil disable → перезагрузите устройство.
Источник
Kernel extensions in macOS
Starting with macOS 11 , if third-party kernel extensions (kexts) are enabled, they can’t be loaded into the kernel on demand. They require the user’s approval and restarting of the macOS to load the changes into the kernel, and they also require that the secure boot be configured to Reduced Security.
Important: Kexts are no longer recommended for macOS. Kexts risk the integrity and reliability of the operating system, and users should prefer solutions that don’t require extending the kernel.
Adding kexts on a Mac with Apple silicon
MDM enrollment type
Kext management by the user requires a restart to recoveryOS to downgrade security settings. The user must press and hold the power button to restart into recoveryOS and authenticate as an administrator. Only when recoveryOS is entered using the power button press will the Secure Enclave accept the change of policy. The user must then select the checkbox Reduced Security and the option “Allow user management of kernel extensions from identified developers” and restart the Mac.
The user must restart into recoveryOS to downgrade security settings. The user must press and hold the power button to restart into recoveryOS and authenticate as an administrator. Only when recoveryOS is entered using the power button press will the Secure Enclave accept the change of policy. The user must then select Reduced Security, check “Allow user management of kernel extensions from identified developers,” and restart the Mac.
The MDM solution should notify the user they must restart into recoveryOS to downgrade security settings. The user must press and hold the power button to restart into recoveryOS and authenticate as an administrator. Only when recoveryOS is entered using the power button press will the Secure Enclave accept the change of policy. The user must then select Reduced Security, check “Allow remote management of kernel extensions and automatic software updates,” and restart the Mac.
Contact your MDM vendor to see if they support this feature.
Automated Device Enrollment
(Serial number appears in Apple School Manager or Apple Business Manager and the Mac is automatically enrolled in MDM)
MDM solutions can manage this automatically.
Contact your MDM vendor to see if they support this feature.
Adding kexts on an Intel-based Mac with macOS 11
MDM enrollment type
When a new kext is installed and there’s an attempt to load it, a restart must be initiated by the user from the warning dialog in the Security & Privacy pane of System Preferences. This restart initiates the rebuild of the AuxKC before to the kernel booting.
Automated Device Enrollment
Every time a new kext is installed and there’s an attempt to load it, a reboot needs to be initiated by either:
The user, from the warning in the Security & Privacy pane of System Preferences.
The MDM solution, using the new RestartDevice command with RebuildCache flagged. The AuxKC rebuilds the next time the Mac restarts. kexts already discovered by macOS (for example, loaded by their software and blocked) are included, and ones that haven’t yet attempted to load can be supplied using the KextPaths key.
Note: A kext allow list profile must first be installed by the MDM specifying the kext.
Kernel extensions with System Integrity Protection
If System Integrity Protection (SIP) is enabled, the signature of each kext is verified before being included in the AuxKC.
If SIP is disabled, the kext signature isn’t enforced.
This approach allows Permissive Security flows for developers or users who aren’t part of the Apple Developer Program to test kexts before they are signed.
Alternatives to kexts (macOS 10.15 or later)
macOS 10.15 enables developers to extend the capabilities of macOS by installing and managing system extensions that run in user space rather than at the kernel level. By running in user space, system extensions increase the stability and security of macOS. Even though kexts inherently have full access to the entire operating system, extensions running in user space are granted only the privileges necessary to perform their specified function.
Developers can use frameworks, including DriverKit, EndpointSecurity, and NetworkExtension, to write USB and human interface drivers, endpoint security tools (like data loss prevention or other endpoint agents), and VPN and network tools, all without needing to write kexts. Third-party security agents should be used only if they take advantage of these APIs or have a robust road map to transition to them and away from kernel extensions.
Источник