Я использую MacOS Sierra на MacBook Pro середины 2014 года. Примерно раз в неделю загрузка ЦП Safari становится очень высокой и становится очень медленной. В последнем случае у меня было открыто всего шесть окон, ни одно из которых не воспроизводило видео, но загрузка ЦП Safari составляла 332%. Кроме того, даже после закрытия всех шести окон загрузка ЦП Safari оставалась на высоком уровне. Я мог только заставить его остановиться, выйдя и перезапустив Safari.
Я получил трассировку Capture Data, когда она происходила, и отправил ее в AppleCare, где старший советник направил ее своей инженерной команде. В ответ он ответил, что, похоже, я перезагружал свой компьютер недостаточно часто, что необходимо из-за истечения срока действия ядра (он рекомендует еженедельно, и я перезагружал его каждые два месяца). Поскольку это было из-за старшего советника, я не смог получить более полное техническое объяснение. Кроме того, я не смог найти никакой официальной документации Apple по этому вопросу.
Может ли кто-нибудь дать мне подробное техническое объяснение, которое объясняет, что на самом деле здесь происходит? Мне особенно любопытно, является ли это чем-то особенным для дизайна микроядра MacOS (в отличие от монолитного ядра), и является ли время истечения ядра фиксированным на основе настенных часов, времени процессора и т. Д. С момента последней перезагрузки, или варьируется в зависимости от определенных факторов. Спасибо!
[Добавлю, что в 2004-2009 годах я использовал Power Mac G5, часто запускал 10 приложений с 10 окнами каждое, а также программы на C ++, на завершение которых уходили недели, никогда не перезагружался, за исключением случаев, когда это необходимо для обновления программного обеспечения, и получил панику ядра меньше, чем один раз / год. Но все три MacBook Pro, которыми я владел (2008, 2011, 2014), вызывали панику в ядре каждый месяц или два. Теперь мне интересно, не потому ли это, что я перезагружаю свои MacBook Pro достаточно часто - за исключением того, что это не было проблемой с G5.]
В случае, если это полезно, вот скриншот, показывающий монитор активности во время события, описанного в первом абзаце. Также отображается информация о гаджете Intel Power; кажется странным, что частота процессора составляет всего 1,3 ГГц (это процессор Intel i7-4980HQ с частотой 2,8 ГГц и Turbo Boost 4,0 ГГц), когда процесс работает на 332%. Такое поведение напоминает мне (но, конечно, отличается от) тепловое регулирование ЦП, когда система создает фиктивную задачу ядра с высокой нагрузкой (обычно ~> 600%), чтобы не запускать другие процессы, что приводит к низкой частоте ЦП. (0,8 ГГц) (пример теплового дросселирования показан после). Я не публиковал их изначально, потому что думал, что они могут отвлечь от моего основного вопроса о «истечении срока действия ядра» и еженедельных перезагрузках,
ВЫСОКАЯ САФАРИ-ДЕЯТЕЛЬНОСТЬ:
ТЕРМИЧЕСКОЕ УПРАВЛЕНИЕ ЦП (ДЛЯ СРАВНЕНИЯ): Термическое регулирование на моем текущем MacBook Pro является отдельной проблемой от сбоев ядра, поскольку я получал сбои даже зимой, когда впервые приобрел компьютер и когда не было термического регулирования, и также получил их с моими предыдущими двумя MacBook Pro. Я только что опубликовал это для сравнения. [Если вам интересно: регулирование происходит последовательно, когда используется дискретная видеокарта (подключен монитор 4K), а температура окружающей среды достигает 83F; Мне никогда не удавалось дросселировать, когда монитор отключен. Компьютер правильно вентилируется; это сидит на raindesign mStand. Инженер Apple говорит, что для проверки вентиляторов на наличие пыли и возможного повторного нанесения термопасты необходимо привести его в рабочее состояние. Это на гарантии, но я могу
ОБНОВЛЕНИЕ, 23 ИЮНЯ 2017: Мне не удалось восстановить связь с первоначальным старшим советником AppleCare, поэтому я поговорил с новым, который принял мое дело. Он работает в Apple около десяти лет и сказал следующее (я перефразирую):
1) Еженедельные перезагрузки. Это слишком сильно, чтобы сказать, что они необходимы. Скорее, они представляют хорошую практику. MacOS загружает как можно больше памяти в ОЗУ, чтобы максимизировать производительность, и, если ваш компьютер не использует память ECC (что делают только MacPros), появляются ошибки. В конечном итоге это может вызвать панику ядра. Сколько времени это занимает, сильно зависит от модели использования. Некоторые могут без долгих переживаний без паники, другие нет. [Дело не только в том, насколько интенсивно вы используете, но и в том, что вы используете. Таким образом, один опытный пользователь может справиться с нечастыми перезагрузками, а другой, использующий другое программное обеспечение, может нуждаться в более частых перезагрузках.] Это действительно связано с управлением рисками. Перезагрузка очищает ОЗУ, позволяя начать все заново. Чем дольше вы ждете между перезагрузками, тем больше ошибок накапливается и тем больше риск возникновения паники ядра. Хотя одна неделя не является конкретным ориентиром - на самом деле, нет никаких конкретных указаний; Вы можете использовать, скажем, две недели - в Apple обычно считается, что регулярные перезагрузки являются хорошей практикой по вышеуказанным причинам. Если вы хотите сохранить этот риск на очень низком уровне, еженедельные перезагрузки - отличная практика.
[Мое единственное замечание: это не объясняет, почему я не получал обычную панику ядра с моим PowerPC, который, хотя он может занимать память ECC, не может использовать функциональность ECC - если только сам чип PowerPC не использовал память иначе, чем чип Intel, даже с той же ОС.]
Что касается поднятого примера фермы серверов, это не будет проблемой для серверов, использующих память ECC, таких как старый Mac XServe. Однако Mac Minis, конечно же, этого не делает, поэтому мне любопытно, как часто https://macminicolo.net (упоминаемый Мэттом Холландом в комментарии ниже) находит, что Mac Minis, который они размещают в своей ферме серверов, необходимо перезагрузить.
2) Срок действия ядра: он никогда не слышал об этом. Он свяжется с инженером для уточнения и должен сообщить об этом в течение недели. Я дам вам знать, что он говорит. В рамках этого он попытается получить более четкий ответ об использовании процессора Safari (как я упоминал выше, инженеры Apple имеют фактическую трассировку данных об этом событии, поэтому они имеют хорошую информацию об этом).
ЗАКЛЮЧИТЕЛЬНЫЙ ОТЧЕТ О «УДАЛЕНИИ ЯДРА» (ОБНОВЛЕНО 9 ЯНВАРЯ 2018 ГОДА): Я так и не получил ответа от нового старшего советника об «истечении срока действия ядра». Я провел некоторые исследования сам и обнаружил, что, хотя в OSX, по-видимому, нет такого понятия, как «истечение срока действия ядра», существуют (как было упомянуто Zan Lynx в обсуждении ниже) «таймеры ядра», которые истекают (см. http://www.sciencedirect.com/science/article/pii/S174228761500050X ). Поэтому я предпочитаю , чтобы инженер Apple Care имел в виду истечение срока действия таймера ядра.и что это каким-то образом потеряно при переводе (используя выражение Мономета) между инженером и первоначальным старшим советником, превращаясь, таким образом, в «истечение срока действия ядра», когда этот старший советник попытался передать его мне. Увы, даже если это так, я не знаю, почему инженер переменного тока был обеспокоен этим в связи с моим временем безотказной работы.
EPILOG (1 июля 2018 года): За последние семь месяцев я использовал свой Mac как с еженедельными перезагрузками, так и без них. Я обнаружил, что когда я делаю еженедельные перезагрузки, мой Mac ведет себя хорошо, но когда я скучаю по ним, начинает всплывать шаткое поведение. Я пришел к выводу, что, хотя в целом Mac не требует еженедельных перезагрузок, моя конкретная конфигурация может не соответствовать действительности.
Моя конфигурация:
У меня MacBook Pro 11,3 в середине 2014 года (2,8 ГГц Intel i7-4980HQ и SSD 1 ТБ с 4-канальным PCIe-каналом, отформатированным в APFS). В течение всего этого времени (с января 2018 г.) у меня была чистая установка * High Sierra, на которой были установлены только следующие программы, не принадлежащие Apple: MS Office, Mathematica, игровая мышь Logitech, клавиатура Maestro, клонер копировальной бумаги, принтер Canon , TomTom HOME, MacTeX (набор для использования LaTeX), Firefox, Opera, Kindle, Copy Less, увеличение размера, замедление, TestGen, Turbo Tax, Flux, Launch Bar и EtreCheck. [* Т.е. я вытер диск, установил High Sierra, а затем установил вышеуказанные программы.]
Кроме того, до этого (в ноябре 2017 года) я доставил компьютер в Apple для гарантийного ремонта, чтобы решить проблему термического дросселирования и другие проблемы. Они обнаружили, что термопаста действительно изношена, и заменили всю материнскую плату вместе с батареей (она распухла), корпус и трекпад. С тех пор я не испытываю теплового дросселирования.
Мой Mac большую часть времени проводит дома, подключенный к клавиатуре Logitech K811, мыши G502 и 27-дюймовому монитору Dell P2715Q.