Мой процесс kernel_task имеет высокую загрузку ЦП (150% и более) на MacBook Pro конца 2016 года, работающем 10.12.5 при передаче / получении большого количества данных из сети, и я думаю, что это узкое место. Я использую 3-портовый USB-адаптер Anker USB-C 3 + Hb + GbE, так что, возможно, это драйвер, но моя загрузка процессора также пропорционально ниже (относительно скорости передачи), когда я использую Wi-Fi, и я в значительной степени Максимальная пропускная способность, которую предлагает получить скорость передачи по трубопроводу в аэропорту (от выбора опции удержания и щелчка по значку аэропорта).

Сначала я подумал, что это связано с отсутствием аппаратного шифрования через туннель ssh и sftp , но я попробовал iperf , iperf3 и plain cat /dev/zero | nc host port . Все это приводит к высокой загрузке процессора. Прямое подключение - в обход моего коммутатора - не имеет никакого эффекта. Это тоже не кабель.

Является ли использование процессора 150%+ нормальным для работы в сети на macOS? И могу ли я что-нибудь сделать, чтобы улучшить скорость передачи (предпочитаю изменения программного обеспечения, но сетевое оборудование тоже хорошо)? kernel_task видимому, использует не более 180% процессорного времени, и моя скорость передачи продолжает расти, пока я не достигну этого уровня использования (что может быть раньше, если я использую ssh). Компьютеры, к которым я подключаюсь (Solaris, FreeBSD и Debian), никогда не используют более 25% ЦП для насыщения соединения GbE между собой, с использованием ssh и без него.

1 ответ1

0

Для такого рода сетевых задач на оборудовании такого типа не принято так много времени ЦП использовать только для работы в сети . Но так как это также касается kernel-task:

Видя, что WiFi гораздо меньше подвержен влиянию, чем кабельные соединения на этом компьютере: если вы посмотрите на температуру, которую генерирует ваше устройство, то вы можете обнаружить, что она довольно высокая. kernel_task , вероятно, не столько о сетевом взаимодействии, но в этом случае пытается предотвратить повреждение, которое может произойти из-за перегрева.

В этом случае kernel_task просто ничего не делает, кроме блокировки слишком большого количества вычислений на процессоре, чтобы снизить временные значения. Смотрите здесь для более полного объяснения и, конечно, официальной позиции по этому вопросу. В конечном счете, все сводится к довольно оптимистичному тепловому дизайну, который в случае возникновения проблем может показаться довольно плоским.

При условии, что вы уже проверили, что ваши вентиляторы и плавники чистые и не заблокированы личинкой: это означает, что вам лучше всего попытаться понизить общую температуру пораженной машины. Поднятие устройства, по крайней мере, его работа на твердой плоской поверхности, может привести к удару по нему внешним вентилятором, здесь может помочь запуск переменного тока. Тогда есть программные решения для повышения оборотов вентиляторов. smcFanControl или коммерческие: TGPro, MacsFanControl и другие.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .