Я недавно побежал yes > /dev/null
в течение 3 минут, чтобы разрядить аккумулятор моего Mac. За это время температура повысилась до 72 ° C, и вентиляторы вращались до 4000 об / мин. Я немедленно ушел из процесса.
Стоит ли бояться, что это поврежденное оборудование или логическая плата?
/dev/null
конце концов, вы изнашиваете отверстие в отверстии, поэтому вам понадобятся негабаритные поршни, но подождите, пока не увидите дым из выхлопной трубы, прежде чем мчаться к механику.Ответы:
Конечно, как говорили другие: и у процессора, и у ядра есть свои собственные стратегии самосохранения.
Я добавлю некоторый вкус относительно того, как
yes
используются компьютерные ресурсы.Стоит различать поведение BSD
yes
и GNUyes
.macOS является BSD, поэтому будет использовать (старый) дистрибутив BSD
yes
.yes
исходный кодyes
Исходный код BSDyes
Исходный код GNUХорошее обсуждение различий существует на Как GNU
yes
так быстро?И обсуждение этого обсуждения существует в одноименной ветке Hacker News .
BSD / macOS
yes
действительно работает простоputs("y");
в тесном цикле.GNU
yes
... несколько серьезнее. У него есть оптимизации, выходящие далеко за рамки простой буферизации ввода / вывода.источник
Инструкции для
yes
этого маленького драгоценного камня со страницы руководства :Это значит, нет, вы не повредите свое оборудование. Использование
yes
команды - это способ использования всего (т.е. 100%) вашего процессора. Симптомы, которые вы испытали (например, повышение температуры и результирующее увеличение оборотов вентилятора), следует ожидать в этих обстоятельствах. Кроме того, ваш процессор будет «дросселировать» и в конечном итоге выключится, если его тепловой порог будет превышен, чтобы предотвратить повреждение.источник
Команда
yes
просто многократно записывает строку в стандартный вывод, по умолчанию это символ y. Redirecting (>
)/dev/null
просто вызывает потерю данных потока. Другими словами, это не оказывает длительного влияния на постоянное состояние вашего компьютера, это не вредная команда через этот объектив.Поскольку команда yes записывает строку в стандартный вывод без каких-либо ограничений на скорость вывода, это приведет к тому, что ЦП достигнет максимальной загрузки на одном ядре. Это является причиной повышения температуры процессора и увеличения скорости вращения вентилятора.
В современной машине, особенно хорошо спроектированной, такой как ноутбук Apple, аппаратная часть защитит себя от перегрева. Сначала путем увеличения скорости вращения вентилятора, затем путем уменьшения тактовой частоты процессора и, в конечном итоге, путем остановки процессора. Без преднамеренного обхода этих функций ваше оборудование не перегревалось. Машина в порядке.
Вы упомянули температуру 72 ° C конкретно. Это не очень высокая температура для кристалла процессора. Скромный мобильный процессор i5-7260U определяет максимально допустимую температуру 100 ° C. Вы можете увидеть спецификацию как T_Junction в разделе спецификаций пакетов на этой странице: http://ark.intel.com/products/97539/Intel-Core-i5-7260U-Processor-4M-Cache-up-to-3_40- ГГц
источник
Печальная правда в том, что это может «навредить Mac ».
Фактический пример приведен в теле вопроса: это, скорее всего, не повредило устройству. Предоставляется.
Но как общий ответ на вопрос в заголовке: это зависит от того, о каком типе Mac идет речь. Советы и рассуждения, приведенные до сих пор по этому вопросу или в комментариях, не всегда верны и могут быть довольно опасными! Слишком много доверия и веры вкладывают в простое убеждение, что аппаратное обеспечение Apple - это лучшее, что есть.
Это просто неправда, что Apple разрабатывает сейчас или разработала в прошлом все свои системы, чтобы действительно не навредить себе из-за перегрева. Хотя это правда, что этого не должно происходить, это также правда, что это происходит . И сделал:
Ярким примером этого являются MacBook Pro, особенно те, что были в 2010-2012 годах. В то время как микросхема Intel, которая
yes
в течение длительного времени подвергается основной нагрузке на все потоки, будет дросселировать, будет хорошо справляться с высокими температурами, и даже ОС включит и увеличит kernel_task, чтобы ничего не делать, кроме как помочь охладить машину, дискретный микросхема на той же тепловой трубке является уязвимым аналогом.Напряжение этих систем без необходимости, как с
yes
, ускоряет отказ графического чипа RadeonGate. На этом сайте есть множество примеров вопросов к наиболее сильно затронутым 2011 годам 8,2. Этот сбой графического процессора является тепловой проблемой. Есть даже руководства о том, как убить машину , просто запустив какое-то время рендеринг или тесты. Эти системы рекламировались, но не подходили, например, для рендеринга или игр. Групповые иски (только под угрозой) и ремонтные программы расширения говорят сами за себя.источник
yes
в любом случае не взаимодействует с графическим процессором. Источник наyes
вызовы только самые основные библиотеки; ни одна из них не является математической библиотекой (минимум для доступа к графическому процессору). Во-вторых, видео, которое вы связали, никоим образом не связываетсяyes
с неисправными графическими процессорами. Россман связывает вышедшие из строя GPU с плохим производством.yes
подчеркивает процессор. Нагруженный процессор нагревается. Затем температура на радиаторе повышается, и этот же радиатор должен охлаждать уязвимые графические процессоры. Такой дизайн радиатора / теплообменника не позволяет делать это регулярно на большинстве 8,2 МБТ.