В Windows можно динамически изменять приоритет процессов, чтобы управлять их загрузкой CPU. Например, если какое-то приложение перегружает систему, можно снизить его приоритет, а важные задачи, наоборот, ускорить.
▪️ Просмотр приоритетов процессов. Чтобы увидеть текущие приоритеты всех запущенных процессов, выполните команду:
Get-WmiObject Win32_Process | Select-Object Name, ProcessId, Priority | Sort-Object Priority -Descending
Приоритет отображается числом:
256 - Реального времени (RealTime)
128 - Высокий (High)
32 - Выше нормального (AboveNormal)
8 - Обычный (Normal)
4 - Ниже нормального (BelowNormal)
1 - Фоновый (Idle)
▪️ Изменение приоритета процесса. Допустим, нужно повысить приоритет процесса notepad.exe до Высокого (High):
(Get-Process notepad).PriorityClass = "High"
Если процессу нужно снизить нагрузку, например, до Ниже нормального (BelowNormal):
(Get-Process notepad).PriorityClass = "BelowNormal"
▪️ Изменение приоритета по PID. Если у вас есть идентификатор процесса (PID), можно изменить его приоритет напрямую:
(Get-Process -Id 1234).PriorityClass = "AboveNormal"
▪️ Автоматическое изменение приоритета. Можно настроить PowerShell-скрипт, который будет снижать приоритет ресурсоёмких процессов, например chrome.exe:
$processes = Get-Process chrome -ErrorAction SilentlyContinue
if ($processes) {
$processes | ForEach-Object { $_.PriorityClass = "BelowNormal" }
}
Добавьте этот скрипт в Планировщик заданий (Task Scheduler), чтобы он запускался автоматически при старте системы.
▪️ Изменение приоритета через WMI. Если Get-Process не срабатывает, можно использовать WMI:
(Get-WmiObject Win32_Process -Filter "Name='notepad.exe'").SetPriority(128)
Здесь 128 - это High, 8 - Normal, 4 - BelowNormal и т. д.
#windows #processes
🧑💻 NetworkAdmin