Как распределить нагрузку на ядра процессора


Как оптимизировать приложение и Windows под многоядерный процессор [CPU Control] - Заметки Сис.Админа

Приветствую, дорогие друзья, читатели, знакомые и всякие прочие личности.

Сегодня я решил обновить и дополнить одну из старых и неполных статей по оптимизации, причем обновить не просто, а вставив в неё часть материала одного из уроков моего курса обучения. Так что.. поехали ;)

Не смотря на то, что многоядерные процессоры (и уж, тем более, многопроцессорные компьютеры) давно вошли в нашу жизнь, далеко не все программы умеют корректно взаимодействовать с несколькими ядрами, а так же грамотно использовать и оптимизировать доступные системные ресурсы.

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

Вообще говоря, процессор является одним из ключевых, если не самых главных, компонентов, отвечающих за производительность в системе, посему имеет смысл корректно и правильно использовать его возможности. Глобально, в этом направлении, с точки зрения программной оптимизации есть два пути:

  • В случае с многоядерными процессорами, - это распределение нагрузки по ядрам. Дело здесь в том, что изначально не все процессы могут использовать адекватно все ядра в системе (т.е нет поддержки многоядерности) или корректно занимать те из них, что не заняты обсчетом других приложений и нужд, а посему имеет смысл вручную (или автоматически) разносить приложения на отдельные ядра или группы ядер, для корректного распределения нагрузки и/или ушустрения работы
  • В случае со всеми процессорами, т.е одноядерными в том числе, - это работа с приоритетами системы. Дело в том, что по умолчанию Windows присваивает всем запускаемым процессам нормальный приоритет, что ставит приложения в равные условия в плане получения процессорных мощностей. Однако, согласитесь, что, скажем, 3D игра и обычный блокнот, – это немного разные приложения и, очевидно, что игре нужно больше ресурсов процессора в реальном времени, т.к находясь в трехмерном приложении Вы вряд ли взаимодействуете с этим самым блокнотом и он Вам не нужен до поры до времени (да особых мощностей процессора блокноту почти не надо, – там той программы то.. раз два и нету). Отсюда, вроде как логично вытекает, что приоритеты у разных приложений должны быть разные (особенно во времена многоядерности то), но на практике это далеко от реальности.

И в том и в другом случае, решить проблему помогут программы для того предназначенные. Про приоретизацию я уже немного говорил в соответствующей статье, а про распределение речь пойдет ниже.

к содержанию ↑

Оптимизируем работу процессора, распределяя нагрузку по ядрам

Что это за распределение нагрузки и как оно выглядит? Говоря простым языком, можно вручную, запустив программку, повесить все системные службы на просчитывание первым ядром, антивирус и фаерволл вторым, браузер и аську третьим и тд и тп. Подобные манипуляции, бывает повышают производительность системы за счет более адекватного использования процессорных ядер, т.е. в некотором смысле получается этакая расширенная насильная поддержка многоядерности.

В этом нам поможет такая программа, как CPU Control. К сожалению, оная несколько устарела и может поддерживать не все процессоры, но для решений 2-4 ядра подойдет вполне. С более многоядреными версиями не факт. Так же, что печально, но хочется отметить, что имеется поддержка не всех версий процессоров, что, опять же, связано с давностью обновления программы, но, думаю, не мешает всё таки некоторым поэкспериментировать.

Собственно, программа полностью бесплатна, поддерживает русский язык, не требует установки (можно тягать на флешке) и предельно проста в управлении. Владельцам одноядерных процессоров вряд ли принесет какую-то пользу, если только одноядерный процессор не имеет в себе функцию разбиения физического ядра на два логических.

Скачать можно прямо с моего сайта, а именно отсюда.

После запуска видим примерно такую картину:

Где сразу идем на вкладку “Options” и задаем галочками “Автозапуск с Windows”, “Минимизировать”, язык и ставим галочку 4 ядра, если у нас их, собственно, 4 или не ставим, если, собственно, их два.

Дальше есть несколько путей, а именно:

    • Ручной, т.е когда мы задаем для каждого процесса всё сами, т.е на каком ядре/ах он будет.. м.. обрабатываться
    • Авто, т.е, когда программа сама назначает распределение по ядрам
    • CPU1, т.е, когда приоритет отдается первому ядру
    • CPU2, т.е, когда приоритет отдается второму ядру

.

Последние два нас не интересуют, ибо идея передачи нагрузки куда-то в одно место мне не ясна. Мы как-никак занимаемся оптимизацией, а не наоборот :). Поэтому будем работать с первыми двумя.

Для начала пару слов про "Авто". Это довольно удобный режим, когда нет особого желания заморачиваться с тонкой настройкой или знаний на эту самую настройку не хватает. Посему можно выбрать этот режим и один из 9 профилей для него, которые, на базе неких правил, распределяют приложения по ядрам. Так можно получить неплохой прирост производительности без особых заморочек, особенно, если некоторое время повыбирать правильный профиль под Вашу текущую систему.

Второй вариант, как уже говорилось,- это режим "Ручной". Он более сложен, т.к требует определенного понимания концепции работы системы, приложений и тп.

Перейдя в этот режим, Вы сможете сами распределять процессы по ядрам или группам ядер. Делается это путем выделения одного или нескольких процессов и последующим нажатием правой кнопки мышки. Здесь собственно, CPU и его номер - это номер ядра. Т.е. если Вы хотите повесить процесс на 4-ое ядро, то выбираете CPU4, если на 1-ое и 3-тье, то CPU 1+3, и тд. Думаю, что идея ясна. Теперь о том как лучше распределять.

Глобально, имеет смысл растаскивать процессы на группы, а ресурсоёмким приложением выделять все ядра сразу. Т.е, например, фаерволл и антивирус отдать на попечение 3+4 ядер, системные мелкие процессы, а так же небольшие программы, вроде аськи, Punto Switcher и прочую шушеру на 1-ое, игры-фотошоп-прочее-тяжелое на 1+2+3+4. Либо, как вариант, попробовать всё повесить на все и посмотреть, что будет.

Мониторить нагрузку на ядра можно в том же диспетчере задач. Важно включить в нем мониторинг нагрузки на ядра, что делается по кнопке “Вид” - “Вывод времени ядра” и  “Вид” - “Загрузка ЦП” - “По графику на каждый ЦП”. В идеале таки делать всё это не в режиме простоя сразу после запуска компьютера, а в режиме загруженной системы, т.е при запущенных ресурсоёмких приложениях, вроде игр, фотошопов или что там у Вас кушает ресурсы.

К слову, вот на 4-х ядрах даже в автоматическом режиме прирост производительности значительно ощутим, зато на двух почему-то даже в ручную не всегда удается достигнуть мощи.

В общем и целом здесь огромное поле для экспериментов, которое Вам, надеюсь, будет изучить, ибо у каждого своя система, набор программ и всё такое прочее. Поле, кстати, минное, ибо легко можно добиться обратного эффекта вместо оптимизации, но зато как интересно поковыряться :). Попробуйте использовать разные профили в авторежиме или ручную настройку, дабы добиться максимальной производительности на Вашем компьютере.

к содержанию ↑

Послесловие

В двух словах как-то так. Кто-то конечно скажет, что не стоит всем этим заморачиваться ради сколько-то процентного прироста и плавности работы, - Ваше право. Я люблю возится с системой и доводить её скорость, удобство и всё такое прочее до новых высот, пусть и не всегда больших, но зато больших.

Мне будет интересно, если в комментариях Вы расскажите как тестировали, настраивали, какие результаты наблюдали и к чему пришли. Какие настройки и схемы настроек, по Вашему, наиболее оптимальны и почему. Особенно это интересно для меня в качестве сравнения с группой, которая сейчас обучается, ибо некоторые из них добились как существенно отличных результатов, так и обратных :). Посмотрим, что получится у Вас.

В общем, рекомендую хотя бы попробовать ;)

sonikelf.ru

Оптимизация работы процессора: утилита CPU Control

В данной публикации пойдет речь еще об одном стороннем инструменте оптимизации работы многоядерных процессоров – бесплатной программе CPU Control. "Еще" – потому, что автор уже касался этой темы, смотрите заметку об ICEAffinity. Детище немецкого разработчика Маттиаса Коча (Matthias Koch), русифицированная утилита CPU Control будет особенно интересна начинающим компьютерным пользователям из-за наличия многопрофильного авторежима оптимизации, но обо всем - по порядку.

"Зачем это надо & что я буду с этого иметь?"

Данный вопрос был затронут в озвученной статье, поэтому дефрагментирую сказанное до пары абзацев:

  • Некоторые приложения не поддерживают многоядерный режим, поэтому для корректной работы необходимо вручную выделить им отдельное процессорное ядро. Другой "проблемный" вариант - материнская плата асинхронно инициализирует ядра. В обоих случаях требуется оперативное вмешательство пользователя.
  • По умолчанию, ОС Windows присваивает всем запускаемым процессам равный приоритет в пользовании процессорных мощностей. Что не совсем правильно в случае запуска ресурсоемких приложений, напр., когда Вашему любимому Call of Duty "мешает" антивирус вкупе с дюжиной другого "второстепенного" ПО. CPU Control поможет пропорционально разнести процессы по ядрам, что напрямую скажется на общей производительности системы.

Примечание: Утилита поддерживает двух- и четырехъядерные процессоры, но, по отзывам, корректно работает и на 6-8 ядрах.

/ опубликовано в IT-издании "Компьютерные Вести" № 6 2013 в рубрике "Software" /

Оптимизируем

1. Для начала необходимо скачать утилиту например отсюда, из Каталога софта TestSoft.su. Никаких "хитростей" в установке нет, поэтому последовательно жмем "Next" ("Далее") до полной инсталляции. Кстати, программа не "сорит" в реестре, т.е. портативна и носима на съемных накопителях.

2. После запуска (см. скриншот) первым делом кликаем на "Options" ("Опции") и русифицируем CPU Control через "Languages" ("Языки") → "Russion". Далее, в соответствии со следующим скриншотом, ставим галочки напротив "Автозапуск с Windows", "Минимизировать" и "4 ядра" (для четырех и более ядер). Понятно, что если ЦП двухъядерный, активировать "4 ядра" без надобности.

3. Закрыв "Опции", в главном окне приложения видим 5 режимов контроля работы ЦП: "Авто", "Ручной", "CPU1" (все процессы выполняются на 1ом ядре), "CPU2" (все процессы выполняются на 2ом ядре) и "Отключено" (без оптимизации). Последние три режима нам не интересны, поэтому сосредоточимся на первых двух.

Для начинающих пользователей автор рекомендует просто выбрать режим "Авто" и, закрыв окно, проверить для будущих загрузок Windows, чтобы CPU Control был в списке автозагружаемых приложений (!). Это легко сделать, например, через Revo Uninstaller любой версии, смотрите в панели меню "Инструменты" → "Менеджер автозапуска" (при необходимости добавить приложение кликаем, соответственно, апплет "Добавить").

4. Для любителей "покопаться" эта простенькая утилита дает шанс "развернуться": в авторежиме имеется 9 базовых профилей-вариаций распределения процессов по ядрам (см. скриншот). При наличии времени и открытом на вкладке "Быстродействие" диспетчере задач ("Ctrl + Alt + Del"), для мониторинга результатов, можно выбрать оптимальный профиль под свою систему.

5. Самые "продвинутые" пользователи, желающие добиться максимальных результатов в деле повышения производительности системы данным способом, наверняка заинтересуются режимом "Ручной". В  этом режиме Вы самостоятельно распределяете процессы по ядрам или группам ядер. Все просто: выделяете процесс(-ы) и через правую клавишу мыши "вешаете" на нужное ядро или комбинацию ядер. Например, при выборе "CPU1" процесс будет "висеть" на первом ядре, при выборе "CPU3+4" – на третьем и четвертом ядрах и т.д. Вот хороший вариант ранжирования для 4ехъядерного ПК: системные процессы оставьте 1ому ядру, самые ресурсоемкие приложения (типа Photoshop) "распылите" между всеми ядрами (вариант как на последнем скриншоте), а "середнячков" типа антивирусного сканера отдайте в руки комбинации на 2 ядра, скажем, "CPU3+4". "Диспетчер задач Windows" поможет сделать правильный выбор. Для удобства мониторинга, при открытой в диспетчере вкладке "Быстродействие", проверьте, чтобы была активирована функция "По графику на каждый ЦП" (см. "Вид" → "Загрузка ЦП" → искомое "По графику на каждый ЦП").

В общем, экспериментируйте и Ваши усилия обязательно окупятся сторицей!

Дмитрий dmitry_spb Евдокимов

TestSoft.su

CPU-Control

CPU-Control – программа для распределения и оптимизации нагрузки на ядра процессора.

В распределении системных ресурсов не всегда стоит полагаться на систему. Ситуация такова, что далеко не все программы верно задействуют использование ядер процессора, что несомненно сказывается на быстродействии ПК. Несмотря на стремительное развитие многоядерности, многие программы не понимают присутствия 2 и более ядер процессора, а значит, не будут их использовать.

Как пользоваться CPU-Control

CPU-Control позволяет пользователю вручную распределить нагрузку на ядра у каждого процесса в отдельности, что даёт равномерную нагрузку на процессорные ядра. Настроить корректное использование доступных системных ресурсов смогут владельцы 2 и 4 ядерных процессоров, но ходит слух, что CPU-Control работает и на 6-8 ядерных процессорах.

Чтобы было проще понять, как пользоваться программой, мы привели несколько вариаций использования для 4 ядерных ЦПУ.

  • Работая одновременно в 3 требовательных к процессору программах, не имеющих доступа к многоядерности, будет разумно распределить процесс каждой программы на отдельное незагруженное ядро (2, 3, 4), перед этим забив другими включенными программами 1 ядро (чтобы освободить 2, 3, 4 ядра). Не обязательно 3 программы, их может быть и 10, главное распределить нагрузку с помощью CPU-Control наиболее равномерно.
  • Можно выключить использование 2 и более ядер у процесса, которому это не требуется, тем самым освободив процессорные ядра для других программ.
  • Приложение, которому для нормальной работы нужно задействовать 2 ядра, разумнее разместить на свободных ядрах (1+2, 1+3, 1+4, 2+3, 2+4, 3+4), предварительно сняв с них нагрузку от других программ (переместив на «свободные»). Выбрали в CPU-Control для требовательной программы 1+4 ядра, значит, оставшиеся процессы нужно разместить на 2 и 3 процессорных ядрах. Если есть необходимость использовать 3 ядра то всё то же самое, но все остальные процессы переносите на одно «свободное» ядро.

Пользователь может как угодно задействовать процессорные ядра, всё исходя из его предпочтений и задач. Например, первое ядро заставить работать с видеоредактором, второе с графическими приложениями, третье оставить под игру.

Интерфейс CPU-Control

При первом запуске интерфейс программы CPU-Control откроется на английском языке. Всего в программе 4 языка: английский, немецкий, венгерский, русский. Чтобы переключиться на русский язык нужно нажать на «Options», затем выбрать язык «Russian» (сразу всё русифицируется).

Далее, в соответствии со скриншотом, в том же окне CPU-Control выставляем галочки: «автозапуск с windows», «минимизировать», «4 ядра» — если 4 ядерный CPU.

После того как закрываем это окно, снова видим основное, но теперь на русском.

В правой части основного окна видно, что всего CPU-Control поддерживает 5 режимов работы.

  1. Автоматический режим: использует все два / четыре процессора, чтобы назначить задачи.
  2. Ручной: вы сами выбираете ядра для управления процессом.
  3. CPU 1: Все задачи задействуют первое ядро процессора.
  4. CPU 2: Все задачи задействуют второе ядро процессора.
  5. Off: CPU-Control отключен (по умолчанию).

Чуть ниже расположись 9 готовых профилей с настройками, и если ваша цель просто увеличить производительность ПК, можно их поочередно активировать, наблюдая за результатами.

Левая часть окна CPU-Control для ручного режима работы. Всё что нужно, это выделить нужный процесс или процессы и нажав ПКМ выбрать необходимое ядро или их комбинацию.

CPU-Control не видит процессы

Возможное решение проблемы: пуск — выполнить — msconfig — загрузка — дополнительные параметры — поставить галочку на число процессоров и выбрать количество ядер. После этого нужно выполнить перезагрузку ПК и запустить программу CPU-Control.

https://cpu-control.ru/wp-content/uploads/CPU-Control-ne-vidit-protsessy.mp4

Последняя версия программы вышла в 2010 году и больше не поддерживается разработчиком. В связи с этим, вполне возможно, что программа несовместима с некоторыми процессорами, или есть другая причина, которая нам неизвестна. Этот сайт не является официальным, он лишь позволяет ознакомиться с описанием и возможностями программы на русском языке, и скачать её. Всё что мы можем, это следить за обновлениями CPU-Control и выкладывать актуальные версии. Разработчиком этого продукта является немец Маттиас Кох. Несмотря на то, что такая проблема встречается, это не значит, что так будет у вас. Если вы с этим столкнулись, попробуйте выполнить описанные выше действия.

Скачать CPU-Control

Последняя версия программы — 2.1 от 20.11.2010. Сейчас в интернете появилось много различных сайтов, распространяющих версии 2.2 и даже 2.3 — это всё мошенники. В лучшем случае с таких ресурсов вы скачаете версию 2.1, в противном случае загрузите вредоносное программное обеспечение. На этом ресурсе всегда размещена актуальная версия программы, мы следим за выходом обновлений.

cpu-control.ru

Как пользоваться cpu control

Если вы заметили, что производительность вашего процессора сильно упала либо она должна быть выше той, что вы имеете, опираясь на характеристики вашего компьютера, то проблема может крыться в неравномерной нагрузке на ядра процессора. Например, старые программы могут видеть только два ядра и не брать по внимание остальные два у четырёхъядерных процессоров. Таких утилит мало, но они до сих пор есть. Также даже новые игры и программы могут ошибочно распределять нагрузку между ядрами. Чаще всего, практически без нагрузки остаётся третье и четвертое ядро, а слишком много нагружены первое и второе. В этой статье будет подробно рассмотрена настройка утилиты Cpu Control, созданной специально для стабилизации производительности процессора.

1

Для начала, скачайте программу с официального сайта разработчика по ссылке: https://cpu-control.ru Если вы имеете другие источники, то задействуйте их по своему усмотрению.

2

Откройте архив, предварительно проверив его на вирусы, если вы скачивали программу со сторонних ресурсов.

3

Запустите файл с расширением .exe

4

Как только начнётся установка, действуйте, согласно инструкциям программы установки. В данном окне, нажмите «Next».

5

После этого примите условия лицензионного соглашения, поставив галочку возле слов «I accept the agreement» и кликните по полю «Next».

6

Выберите директорию установки программы, кликнув по кнопке «Browse…» и нажав на нужную папку либо оставьте это поле без изменений.

7

Следующими шагами станут выбор имени папки расположения и согласие на запуск программы сразу после установки. Поставьте галочки так, как будет удобнее именно вам.

Откройте программу Cpu Control. В ней две основные рабочие области. Справа область для создания профилей и выбора режима работы утилиты. Слева находится окно ручной настройки.

8

Для начала определитесь с режимом программы Cpu Control. Всего их пять:

  • Автоматический режим подразумевает настройку оптимизации самой программой. Это крайне нежелательный пункт, так как многие приложения и игры на вашем компьютере и так автоматически распределены по ядрам процессора.
  • Мануальный или ручной режим будет использован в этой статье, он позволяет настроить каждое приложение или программу отдельно на то или иное ядро.
  • CPU 1 переносит все процессы только на первое ядро.
  • CPU 2 — на второе.
  • Off является пунктом отключения программы.

Выберите мануальный режим работы. После этого кликните на правую нижнюю кнопку «Options».

9

Выберите русский язык программы, если вам это требуется.

10

Выполните настройку основных параметров. Ставить галочку возле пункта «Автозапуск с Windows» или нет — личное дело каждого пользователя, так как эта надстройка будет открывать программу Cpu Control каждый раз, когда вы включаете свой компьютер. Поставьте галочку возле слова «минимизировать». Частоту обновлений оставьте на цифре 1.

Если ваш процессор четырёхъядерный, то отметьте пункт «4 ядра» внизу.

11

Теперь выполните настройку программ и игр. В списке слева отыщите приложение, программу либо игру, которая требует высокой производительности вашего процессора. Кликните по ней правой кнопкой мыши. Вы увидите всплывающий список, посмотрите, что означает каждый пункт в нём:

Первые четыре пункта CPU 1, CPU 2, CPU 3, CPU 4 нужны для выбора только одного ядра в работе процессора. Выбрав один из этих пунктов, вы отдаёте всю нагрузку игры или приложения лишь на одно ядро, что не скажется положительно на производительности компьютера. Эти пункты эффективны только с небольшими приложениями.

Строки CPU 1+2 и CPU 3+4 распределяют нагрузку равномерно между двумя ядрами процессора.

Для качественной ручной настройки, вам нужен пункт «Все CPU». Нажмите на него.

12

Появится новый список и, казалось бы, такие же строчки в нём принимают новые значения:

  • 1 CPU  даёт вам выбрать нагрузку только на одно ядро процессора;
  • соответственно, 2 CPU открывает все комбинации двух ядер процессора, который будут задействованы в работе;
  • 3 CPU  позволит выбрать комбинацию из трёх ядер для распределения между ними нагрузки этого приложения;
  • 4 CPU  задействует равномерно все четыре ядра.

Вам нужен именно четвёртый пункт, так как нагрузка приложения должна быть распределена равномерно между всеми ядрами. В этом пункте только один подпункт «1+2+3+4».

13

Другую программу, которая не требует сильной производительности, вы можете распределить между тремя ядрами, выбрав пункт «3 CPUs», а затем нажав на комбинацию ядер.

14

По своему усмотрению, вы можете распределить нагрузку программы и на два ядра.

Комбинируя распределение между ядрами, вы повысите свою производительность, игры станут выдавать больше fps, в программы станут быстрее. Если у вас нет времени на детальную настройку, то выберите пункт «4 CPU» и подпункт «1+2+3+4» на всех программах с высокой производительностью.

SovetClub.ru

Windows 8 покажет нагрузку каждого ядра

Разработчики Windows 8 рассказали о доработках в Task Manager, сделанных после выхода Developer Preview. Самое интересное там — режим просмотра нагрузки каждого ядра процессора с теплокартой (heat map). Если у вас 8-ядерный процессор, то это не слишком интересно, но другое дело, когда вы следите за нагрузкой сервера или дата-центра. На скриншотах, которые приводит Microsoft, показана система со 160 ядрами.

Весь рабочий экран разбит на маленькие квадратики (на скриншоте поле 16х10), каждый из которых соответствует логическому процессору. Степень загрузки отображается в процентах и по интенсивности цвета. Разработчики постарались устранить все недостатки интерфейса Windows 7, который рисовал трудночитаемые графики. Сравните сами: на скриншоте показана такая же система в Windows 7 со 160 ядрами.

По таким графикам практически невозможно сравнить логические процессоры друг с другом, потому что все графики меняются в реальном времени, показывают историю за 60 последних секунд и выглядят почти одинаково. Использование теплокарты помогает гораздо нагляднее передавать информацию. Идентификатор процессора показывается во всплывающем меню при наведении курсора на любую ячейку.

Ещё одним преимуществом теплокарты является то, что она легко масштабируется, а в случае необходимости появляется вертикальная полоса прокрутки.

Данный интерфейс Windows 8 поддерживает отображение до 640 (!) процессорных ядер, то есть максимальное количество, сколько поддерживает сама операционная система. В диспетчере задач можно принудительно перенести любой процесс на выбранный логический процессор.

Используя эту функцию, вы можете принудительно замедлить вражеский компьютер, повесив процессы на одно ядро (шутка).

Разработчики Windows 8 просят не увлекаться микроменеджментом, потому что операционная система очень грамотно управляет распределением нагрузки, и здесь системный администратор может навредить.

Метки:
  • Windows 8
  • Task Manager
  • диспетчер задач
  • загрузка CPU
  • теплокарта

habrahabr.ru


Смотрите также