Як уповільнити тактову частоту процесора


12

Нещодавно я купив новий MacBook Pro, який іноді йде занадто швидко. Я часто програмую для Mathematica , і на моєму старому MacBook Pro 2007 року я зазвичай відчуваю неефективний код, коли він працює повільно (саме тоді я вирішу: "да, я написав код сміття. "). Однак на моєму новому Mac все просто працює на zippy швидко.

Чи є на Mac перемикач, який дозволяє мені сповільнити процесор до, скажімо, 1 ГГц?


Давайте перенесемо розширену дискусію в чат .
bmike

Ви повинні подивитися на apple.stackexchange.com/questions/24998/…
Max Ried

Я одразу згадую цей комікс: xkcd.com/1172
justhalf

Відповіді:


19

Я не думаю, що неможливо маніпулювати смугою мінімальної тактової частоти, просто через пряме співвідношення між потужністю, частотою та тактовою частотою мікропроцесора. Очевидно, що годинник має діапазон, тому, наприклад, для запуску моделювання система забирає більше енергії для швидшого запуску в межах діапазону, і тоді, коли ви припиняєте імітувати, ви бачите падіння.

Рішення : Ви також розглядали можливість запуску програм у ОС MAC, але на віртуалізаторі (наприклад, віртуальному вікні)? Потім ви можете обмежити кількість ядер / оперативної пам’яті, присвячених виконанню другої ОС. У такому випадку програми можуть бути змушені запускатися набагато повільніше; тому що у віртуалізатора набагато менший ресурс. Це дасть вам набагато більшу гнучкість, а в разі відмови ви можете повернутися назад і змінити налаштування віртуалізатора. Що ще цікавіше, ви можете піднести упаковані налаштування, які працюють на віртуалізаторі, на іншій машині і запустити їх там же, маючи, звичайно, там віртуалізатор.


3
VirtualBox не є емулятором. Це віртуалізатор. Ось чому його називають "VirtualBox". Він віртуалізує процесор, не емулює його. Наприклад, QEmu є емулятором. (Хоча він може використовувати віртуалізацію, і за замовчуванням зробить це, якщо це можливо.)
Jörg W Mittag

1
@ JörgWMittag Це не віртуалізатор. Це називається гіпервізором 2 типу.
Макс Рійд

1
@DaveRose Vm непотрібний, оскільки обмеження на кількість процесора (спорідненість), пам'ять, максимум часу процесора та багато інших ліній ресурсів можна встановити для одного процесу через командний рядок, використовуючи unix утиліти ulimit та sysctl - я не пам'ятаю, чи це утиліти встановлені за замовчуванням, можливо, вам знадобиться встановити інструменти для розробників командного рядка через XCode. Ви встановите ulimit і виконайте Mathematica з оболонки
аварійно

25

Якщо ви стурбовані тим, наскільки ефективно ваше програмне забезпечення, дозвольте запропонувати більш інженерно-орієнтоване рішення, яке дозволить вам підтримувати ваш MacBook на повній швидкості:

Скористайтеся вбудованим в Mathematica профілем . Це дозволить визначити частини ваших обчислень, які займають найбільше часу, не вдаючись до вимірювань штанів, які працюють лише на повільному обладнання.


1
Як би це сповільнило код на одному Mac, а не на іншому? Це гарна інформація, але не здається актуальною для цієї теми.
bmike

@bmike Це хороша інформація. Я не знав про профайлер Mathematica. Хоча це не відповідає безпосередньо на моє запитання, це може допомогти зробити його непотрібним (+1). Можливо, найкраще залишити коментар.
QuantumDot

6
@bmike це нічого не сповільнює, він вирішує проблему, яку ОП насправді намагається отримати, тобто чи ефективний його / її код Mathematica чи ні.
некоматичне

1

Профілювання, як пропонується у відповіді Blrfl, є більш підходящим способом визначення того, чи ефективний ваш код Mathematica чи ні. Однак якщо ви дійсно хочете сповільнити його виконання, ви можете зробити це, змінивши пріоритет процесу Mathematica. Я цього не пробував, але ви можете знайти корисну інформацію чи програмне забезпечення серед цих посилань:

Чи є спосіб встановити пріоритет процесу в Mac OS X?

Як назавжди "відновити" процес на Mac OS X (або iOS тощо)?

Перевага (раніше «Ренісер») від «Північна софтверекс»

Деякі з цих дискусій хоч і давні, тому вам може знадобитися експериментувати чи шукати далі, щоб знайти те, що працює на вашій версії Mac та OS X. Крім того, ви можете виявити, що техніка працює ефективніше, якщо ви встановите на свій Mac якесь інше важке завдання обробки - скажімо, перетворення великого відеофайлу, скажімо.


Зміна пріоритету процесу не є гарантією того, що він буде працювати повільно. Це лише натяк на операційну систему, що, якщо є суперечки за час процесора, процеси з більш високими пріоритетами повинні йти першими. Не заважаючи нічого, процес з низьким пріоритетом буде працювати на повній швидкості.
Blrfl

1

На жаль, немає. Ви не можете змінити тактову частоту на комп’ютерах Macintosh. У них немає BIOS так, як це роблять материнські плати Windows, тому користувач не може змінити тактову частоту або поспілкуватися з елементами вводу / виводу.

Причина цього в основному тому, що на Mac не потрібно вручну змінювати ці речі. Апаратне забезпечення вже заздалегідь створене, і ОС знає, до якого обладнання він / може бути приєднаний.


Mac OS X МОЖЕ динамічно змінювати тактову частоту процесора, наприклад, щоб визначити пріоритетність продуктивності при підключенні до порівняно із часом роботи акумулятора, якщо це не так правильно, або, принаймні, якщо це правильно, це з неправильної причини, тобто ОС не працює не роблять це налаштування легко доступним.
некоматичний

Гарна думка. Я відредагував пост, щоб уточнити це
JamEngulfer

0

Так, але це не радиться. Тактова частота керується ОС і самим процесором через низку факторів, включаючи навантаження процесора, температуру та доступність енергії.

Якщо ви зменшите акумулятор до 10-20%, відключіть будь-яке зовнішнє джерело живлення та нагрійте ноутбук до максимальної робочої температури, 95F (35C) , він, безумовно, перейде в стан низької потужності, включаючи значно скорочення тактової частоти процесора. Невеликий нагрівальний майданчик, наприклад, який використовується для болю в спині, нижче ноутбука, може бути достатнім, а взимку може бути дуже комфортним для вас.

Однак було б краще використовувати правильні інструменти для настройки продуктивності. Так, ви можете імітувати своє старе середовище і тим самим використовувати власний внутрішній годинник, однак програмне забезпечення, яке ви використовуєте, має годинники, таймери та інші інструменти, щоб зрозуміти ефективність вашої роботи. З огляду на те, що ви, можливо, знову оновитесь через кілька років, або ви можете використовувати різні комп’ютери та обчислювальні платформи протягом періоду часу, використовуючи милиці, як емулятори, не є хорошим довгостроковим рішенням.

Я пропоную вам скористатися вбудованими інструментами. Регулярне використання дозволить вам використовувати їх без особливих додаткових зусиль, щоб ви могли інтегрувати їх у своє програмне забезпечення на ходу.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.