Пожалуйста, зарегистрируйтесь или войдите для просмотра ссылок! "Оптимизация работы многоядерных процессоров” или “Ручное распределение загрузки ядер Не смотря на то, что многоядерные процессоры (и уж, тем более, многопроцессорные компьютеры) давно вошли в нашу жизнь, далеко не все программы умеют корректно взаимодействовать с несколькими ядрами, а так же грамотно использовать и оптимизировать доступные системные ресурсы. Читать дальше...Уже давненько я столкнулся с интересной программой, которая позволяет управлять приоритетом использования ядер процессоров, т.е. фактически распределять нагрузку на то или иное ядро. О ней и пойдет речь в этой статье. Вообще говоря, процессор является одним из ключевых, если не самых главных, компонентов, отвечающих за производительность в системе, посему имеет смысл корректно и правильно использовать его возможности. Глобально, в этом направлении, с точки зрения программной оптимизации есть два пути: В случае с многоядерными процессорами, – это распределение нагрузки по ядрам. Дело здесь в том, что изначально не все процессы могут использовать адекватно все ядра в системе (т.е нет поддержки многоядерности) или корректно занимать те из них, что не заняты обсчетом других приложений и нужд, а посему имеет смысл вручную (или автоматически) разносить приложения на отдельные ядра или группы ядер, для корректного распределения нагрузки и/или ушустрения работы В случае со всеми процессорами, т.е одноядерными в том числе, – это работа с приоритетами системы. Дело в том, что по умолчанию 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-х ядрах даже в автоматическом режиме прирост производительности значительно ощутим, зато на двух почему-то даже в ручную не всегда удается достигнуть мощи. В общем и целом здесь огромное поле для экспериментов, которое Вам, надеюсь, будет изучить, ибо у каждого своя система, набор программ и всё такое прочее. Поле, кстати, минное, ибо легко можно добиться обратного эффекта вместо оптимизации, но зато как интересно поковыряться. Попробуйте использовать разные профили в авторежиме или ручную настройку, дабы добиться максимальной производительности на Вашем компьютере.