Можливо, Mavericks заважає тривалим обчисленням?


4

Мені іноді потрібно запускати дуже довгі обчислення на своєму комп’ютері (як правило, використовуючи код, який я написав сам, іноді компілював, іноді інтерпретував), що може зайняти хвилини, години чи навіть дні. OS X Mavericks включає в себе кілька функцій, розроблених для мінімізації споживання енергії, таких як App Nap і згортання таймера. Якби я розробляв таку функцію, я би скептично ставився до процесу, який все ще вимагав максимального використання процесора після запуску протягом днів; навіть якщо цей процес був запущений дією користувача, ця дія була днями тому. Але я, як користувач, дійсно хочу, щоб такі обчислення запускалися до завершення з високим пріоритетом, хоча вони зазвичай працюють у фоновому режимі.

Чи є можливість, щоб мої розширені обчислення були сповільнені енергозберігаючими функціями Mavericks?

Відповіді:


2

За словами розробників компанії Apple документаціїосновні технологій Огляд для Mavericks ), App Nap може бути вибраний з будь-який розробник додатків або користувачем, але за замовчуванням активні.

Для програми GUI користувач може відключити програму з App Nap вручну, встановивши прапорець на панелі Finder "Отримати інформацію ...".

Таймер коаліціонування стає активним лише тоді, коли працює батарея, тому це не повинно впливати на тривалі фонові процеси.

Нарешті, ви можете перевірити стан Напр додатка в Моніторі активності. На вкладці "Енергія" є стовпець, що описує стан додатка для кожної програми, тож якщо правила змінюються, ви можете перевірити фактичний статус тут.

введіть тут опис зображення


Дякуємо за цю інформативну та корисну відповідь. Зауважу, що на цьому знімку екрана монітор активності обговорює "Програми", а не "Процеси". Це просто інше слово для однієї і тієї ж речі, або я не зможу переглянути такі процеси, як java або python?
Чарльз Стейтс

1
Скрипти Java та python повинні відображатися на вкладці "Енергія", хоча для перегляду цих процесів вам може знадобитися перекопатися до термінального додатка Для цілей Монітора активності програми можуть мати декілька процесів, які виконуються в межах (наприклад, BBEdit, Dropbox, Evernote & Forklift на зображенні вище). Ви можете переглянути процеси будь-якого з цих додатків, натиснувши трикутник ліворуч від піктограми програми ...
Scot

2

Mavericks (10.9.2) сильно втручається у триваючі процеси. Тому що він розроблений для пересічного користувача, а не для аналізу інженера, що працює протягом днів.

Я користувач Matlab і використовую звіра MBP для щоденного аналізу даних. Іноді це може зайняти декілька днів. Мій досвід такий:

1 / App Nap не заважає моїм запущеним аналізам.

2 / Перемикання облікових записів користувачів, а потім повернення до облікового запису, де проводиться аналіз, сильно заважає процесам. Наприклад, коли у мене є 5 відкритих та запущених аналізів Matlabs, перехід на інший обліковий запис користувача, залишаючи ці аналізи на задньому плані, впливає на ефективність роботи. Що ще цікавіше, коли я повертаюся до облікового запису, де працюють ці аналізи, процеси втрачають свою пріоритетність. І використання команди "renice -20 PID" не може вивести ці процеси на більш високий рівень пріоритетності.

3 / Я також зауважив, що заблокований екран також заважає виконувати аналізи. Таким чином, що після розблокування екрана я зрозумів, що пріоритети процесу були іншими.

Найкраща практика досі:

Починаючи аналіз, ніколи не переривайте його, поки він не закінчиться.

Пропоноване рішення:

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


0

Обидві перераховані вами технології - Nap Napper і Timer Coalescing - це, в основному, функції відключення, які потрібно використовувати в додатку.

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


bmike - як я розумію, і App Nap, і Timer Coalescing - це поведінка за замовчуванням. Ви можете деактивувати App Nap у вікні About для програми GUI, і він неактивний для програми командного рядка. Коалесценція таймера активована лише при зарядженні акумулятора. Чи є у вас посилання на природу відмови, яку ви описали вище?
Скотт

Проблема тут полягає в тому, що я насправді не розробляю власні програми; Я пишу код, який запускається з інших програм, наприклад, Eclipse або Aquamacs. Іноді я називаю код з командного рядка, але він завжди передує фактичному виконуваному файлу, який є на кшталт java або Python.
Чарльз Стейтс

@CharlesStaats, оскільки ви не ставили жодної з цих деталей у питанні, чому б не дозволити цьому питання про високий рівень того, як функціонують функції. Тоді, якщо у вас є конкретний сценарій і конкретна програма (версія python xyz), ви можете задати це питання, а також окреме питання. Ви також можете відредагувати це запитання з цими деталями
bmike

Я не розпитую про конкретні сценарії - більшість мов, які я використовую, є досить доменними (наприклад, Macaulay2, який призначений для обчислень у комутативній алгебрі), і я підозрюю, що у них буде мало хто, якщо є інші користувачі. Основне правило полягає в тому, що весь код, який я пишу, працював би так само добре під Linux; якщо ваш досвід стосується коду, який стосується Apple, він, ймовірно, не має значення.
Чарльз Стейтс

0

Так. На мій досвід це робить !!

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

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

Це сильно дратує.

Дивіться, наприклад, малюнок, 5 процесів, пов'язаних з аналізом, використовують лише 27% ЦП, тоді як, перш ніж я вийшов на інший обліковий запис, вони використовували майже 90% (інша цифра) ... Я не можу просувати їх до більш високого пріоритету і це мені коштує багато часу, звичайно.

введіть тут опис зображення

введіть тут опис зображення

Після цього циклу виходу / входу я не в змозі привести ці 5 процесів до однакового рівня споживання ресурсів. (відродження не має жодного ефекту).

Це незалежно від App Nap, оскільки він вимкнено.


Це не відповідь, чи не так?
Роб

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

і, чесно кажучи, це набагато релевантніше інших "відповідей" ...
bonobo

корисна дискусія: дискусії.apple.com
thread/6050740?start=
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.