Управление количеством ядер на приложение (08.11.2016). |
2016 - Ноябрь | |||
08.11.2016 09:19 | |||
Стандартный диспетчер устройств Windows XP не позволяет навсегда закрепить за конкретным приложением необходимое количество ядер - как только происходит перезапуск приложения, оно снова начинает грузить весь процессор. В других ОС, по ходу, аналогично. Программы вида Process Explorer не помогли, удалось найти только одну корректно работающую: Process Lasso. Причем предыдущие ее версии были глючные - но наконец-то была доработана до нормального состояния. После установки открывается удобное меню процессов, для которых можно навсегда поставить нужное количество ядер. Как правило, для работы системы нужно первое ядро; поэтому в случае 8-ядерного процессора (8 реальных ядер, а не виртуальных) - открывается интересная возможность: - все системные процессы вешаются на первое ядро (ничего изменять не требуется, так система и делает); - explorer.exe вешается на второе ядро; - браузер - на третье; - антивирус - на четвертое; - архиватор - на пятое; - рендеринг - на шестое; - и еще 2 ядра в запасе. В итоге процессы могут выполняться дольше - но при этом возможно распараллеливание их работы. И, самое главное, процессы не влияют друг на друга. Поэтому, в случае мертвого зависания процесса, не будет оказано никакого влияния на другие процессы. В итоге ОС никогда не зависнет до состояния, когда необходимо нажимать Reset. В случае 2-ядерного придется резко умерить аппетиты: - системные процессы, explorer.exe - на первое; - все остальное - на второе. У программы есть и иные фишки. Например, если приложение ну совсем брыкается, пожирая ресурсы, - ему эти ресурсы можно просто ограничить: 10% от ядра, например. (добавлено 27.11.2016) Неверный подход. Все системные процессы и Explorer должны вешаться на любое ядро, кроме первого. Большинство программ стараются загрузить первое ядро при зависании - что может приводить к сильному торможению, вплоть до зависания. 8 физических ядер - это хорошо: в запасе остается еще одно ядро. (добавлено 11.12.2016) Эта программа ускоряет загрузку ОС, т.к. в этот момент задействованы все ядра процессора из-за ручного их перераспределения. (добавлено 19.01.2017) Новое запущенное приложение, если нет правил, занимает то ядро, которое занимает explorer.exe. Это никак не исправить. С 3-й попытки перераспределил процессы по ядрам правильно, создав правила для основных ресурсоемких приложений. Explorer.exe на ядро 0 (с автоматическим перезапуском), все системные процессы на ядро 1, браузер на ядро 2; архиваторы, торрент, видеообработка и прочее - на 4. Теперь все летает. Однако один вопрос еще не решен: какой класс приоритета дать explorer.exe. И еще обнаружился момент: Process Lasso умеет усекать процент процессора для приложения: если какой-то процесс сжирает все ядро - его можно тупо затормозить, опустив потребление процессора аж до 4%. (добавлено 11.11.2023) При переходе на Windows 7, произошло 2 события: работа с настроенным Process Lasso - а потом папка с ним была случайно удалена. Уже на первой же неделе стали заметны тормоза, т.к. вместо нескольких ядер стало использоваться только первое. Стало некомфортно работать, особенно при работе торрента, архиватора, браузера. |
|||
Обновлено ( 11.11.2023 16:26 ) |