- Go 100%
| Filename | Latest commit message | Latest commit date |
|---|---|---|
A tracked game keeps its status through the first below-threshold scan and loses it on the second consecutive one; memory back at or above the threshold resets the wait. Mode stays on while any game remains. |
||
| .gitignore | ||
| go.mod | ||
| main.go | ||
| main_test.go | ||
| README.md | ||
autopriority
Утилита для Windows: управляет приоритетом процессов по потреблению памяти. Тяжёлым процессам назначает HIGH, при запуске требовательной игры остальным — IDLE.
Как работает
Программа проверяет процессы при запуске и далее через заданный интервал.
Обычный режим. Процесс с памятью не ниже -mem получает HIGH. Если память опускается ниже порога, а приоритет был выше NORMAL (ABOVE_NORMAL, HIGH, REALTIME), возвращается NORMAL. Остальные процессы не трогаются.
Игровой режим. Если процесс занимает не меньше -game-mem, ему назначается HIGH, остальным доступным процессам — IDLE, прежние приоритеты запоминаются. Процесс теряет игровой статус, только если его память держится ниже порога две проверки подряд: одиночная просадка режим не выключает. Правило действует для каждого процесса отдельно, режим держится, пока есть хотя бы один игровой процесс, а процесс, снова превысивший порог, становится игровым заново. Порог считается по памяти, поэтому режим может включить любое приложение.
Возврат приоритетов. Когда не осталось игровых процессов — они завершились или потеряли игровой статус, — сохранённые приоритеты возвращаются. Если вернуть не удалось, попытка повторяется при следующей проверке.
Принудительное завершение программы не восстанавливает приоритеты, изменённые в игровом режиме.
Сборка
Нужен Go 1.26 или новее.
go build -o autopriority.exe .
go build -trimpath -buildvcs=false -ldflags="-H=windowsgui -s -w -buildid=" -o autopriority.exe .
Первая команда собирает консольную версию, вторая — фоновую без окна.
Запуск
autopriority [параметры]
| Параметр | По умолчанию | Описание |
|---|---|---|
-mem |
512M | Порог памяти для обычного режима |
-game-mem |
2G | Порог игрового режима, должен быть больше -mem; 0 отключает режим |
-interval |
1 минута | Интервал между проверками, минимум 10 секунд |
-dry-run |
false | Показать решения, не меняя приоритеты |
Автозапуск
Win+R → shell:startup → положить в открывшуюся папку ярлык или копию autopriority.exe.
Журнал
%TEMP%\autopriority.log, перезаписывается при запуске.
start,stop— запуск с параметрами и завершение;set имя[PID] СТАРЫЙ>НОВЫЙ— смена приоритета;restore имя[PID] СТАРЫЙ>НОВЫЙ— возврат сохранённого приоритета;enabling game mode: имя[PID]— процесс включил игровой режим;game+ имя[PID]— ещё один процесс достиг игрового порога;game mode enabled— приоритеты расставлены, режим действует;disabling game mode— начат возврат приоритетов;game mode disabled— приоритеты возвращены, режим выключен;error— ошибка проверки, чтения процесса или восстановления;dry имя[PID] СТАРЫЙ>НОВЫЙ— решение в режиме-dry-run.
Зависимости
Отсутствуют.