У нас есть компания, использующая терминальный сервер для выполнения большей части своей работы, и когда несколько человек используют Chrome с несколькими открытыми вкладками, процессор загружается на максимум.
Есть ли простой способ ограничить объем процессора, который Chrome может использовать с помощью групповых политик? Мы используем Server 2012 R2 и 2016.
Нет собственного способа ограничить использование ЦП, но вы можете установить процесс близость только на одно ядро.
Один из способов сделать это с помощью групповой политики - развернуть запланированную задачу. Если у вас только один сервер, вы можете добавить его прямо к его запланированным задачам. В этом примере устанавливается привязка всех процессов Chrome к использованию только 2-го ядра, то есть ЦП 1. В настоящее время он запускается каждые 5 минут, но вы можете установить другие триггеры.
schtasks /create /tn "Google Chrome affinity" \
/tr "PowerShell 'ForEach($Process in Get-Process chrome) {$Process.ProcessorAffinity=2}'" \
/sc minute /mo 5 /ru System
Каждое ядро имеет битовую маску (00000001
, 00000010
, 00000100
и т.д.). Для нескольких ядер просто просуммируйте их; например CPU 2 и 3 результаты 00001100
(поскольку 4 + 8 = 12), таким образом $Process.ProcessorAffinity=12
.
Хотя могут быть некоторые сторонние инструменты, я бы не рекомендовал использовать какие-либо хаки на сервере.