Установка приоритета процесса при каждом запуске?
Мой рабочий компьютер сильно замедляется, поэтому я хочу сделать все, что в моих силах, чтобы убедиться, что то, что мне нужно для ответа, действительно отзывчиво. Например, я запускаю Pidgin, который загружается при каждой загрузке. Как я могу сказать Windows XP, чтобы всегда устанавливать низкий приоритет своего потока?
Используя утилиту SysInternals Process Explorer, я могу временно установить приоритет - до следующего перезапуска приложения. Как мне эффективно сделать это постоянным?
7 ответов
Опция 1
Есть Прио. Prio расширяет стандартный TaskManager для Windows и добавляет опцию "Сохранить приоритет" в меню "Установить приоритет".
предостережение № 1: я использовал его некоторое время назад (под Win-XP), и он работал нормально, но я не тестировал его всесторонне.
предостережение № 2: причиной деинсталляции было лицензирование, потому что:
Prio - распространяется бесплатно только для личного использования. Это означает: Все авторские права на Prio принадлежат исключительно O&K Software Ltd. Программа бесплатна только для личного использования. Стоимость бизнес-лицензии составляет 19,95 долларов США.
(цитата с их сайта)
Вариант 2
Я нашел ProcessTamer, который также может помочь с вашей проблемой (может быть, даже больше). Кажется, это бесплатное ПО - автору просто нравится, когда вы регистрируетесь на бесплатный лицензионный ключ (в противном случае всплывают несколько всплывающих окон).
Вариант 3
Если вы хотите сделать это только для нескольких избранных программ, вы можете создать пакетный файл, который не вызывает его напрямую, а косвенно через start
(встроенная командная оболочка Windows) и затем используйте этот пакетный файл (ярлык к нему).
start
Может использоваться со следующими параметрами, которые устанавливают приоритет процесса:
- /НИЗКИЙ
- /НОРМАЛЬНЫЙ
- /ВЫСОКО
- / АВТОКОРРЕКЦИЯ
- /ВЫШЕ НОРМЫ
- /НИЖЕ НОРМЫ
Изменение ярлыка приложения на "start /low [program.exe]" должно работать на вас.
Технически это может работать для вещей, которые не запускаются автоматически. Если вы хотите использовать его для запуска программы, вы можете сделать это с помощью ярлыка и поместить его в папку "Автозагрузка". Если бы я хотел запустить: C:\Program Files\TortoiseSVN\bin\TortoiseProc.exe /command:update /path:"C:\dev_dir", мне бы пришлось:
1) Установите "Start in" в папку, в которой находится фактический исполняемый файл (в данном примере TortiseProc.exe), так: "C: \ Program Files \ TortoiseSVN \ bin"
2) Установите целевой объект для запуска CMD w/ "/C", чтобы запустить строку после "/ C", а затем выйти, а затем использовать ее для запуска START /PRIORITY [исполняемый файл] [параметры]. В моем случае я использовал следующее:
% SystemRoot% \ system32 \ cmd.exe / C start / BELOWNORMAL TortoiseProc.exe / команда: обновление / путь: "C: \ dev_dir"
% SystemRoot% \ system32 \ cmd.exe Запускает командную строку
/ C выполняет следующий код,
start / BELOWNORMAL TortoiseProc.exe / command: update / path: "C: \ dev_dir" фактически запускает программу, если вы правильно "Запустите в" каталог, в котором находится исполняемый файл.
Надеюсь, это кому-нибудь поможет.
ProcessHacker позволяет устанавливать и сохранять приоритеты для отдельных процессов:
Process Hacker был запущен в 2008 году как альтернатива программам с открытым исходным кодом, таким как Task Manager и Process Explorer.
Лицензия: GNU General Public License версия 3.0 GPLv3
У меня есть способ запустить программу с определенным приоритетом в Windows 7 и 8, и это занимает гораздо меньше работы, чем путаница в командной строке, что не является естественным для обычного пользователя.
Сначала создайте ярлык для программы. Щелкните правой кнопкой мыши по ярлыку и выберите "Свойства". После того, как откроется окно свойств, сделайте следующее:
Перед изменением целевая строка должна выглядеть примерно так:
"C:\Program Files\Ubisoft\Assasins Creed 3\AC3SP.exe"
Поменяй тоже читай
cmd /c start/high "C:\Program Files\Ubisoft\Assasins Creed 3\AC3SP.exe"
и нажмите ОК.
Теперь у вас есть ярлык, который будет запускаться с высоким приоритетом каждый раз.
Если у вас есть упорное приложение, которое сбрасывает свой приоритет после запуска, приведенные выше ответы start/option не будут работать.
Я нашел следующую информацию о приложении командной строки, уже встроенном в Windows, которое можно запускать в любом запущенном процессе. И да, он работает вплоть до XP, если использовать его следующим образом:
wmic process where name="program_name.exe" CALL setpriority PriorityLevelID
где PriorityLevelID:
Priority
Level ID Meaning
======== ============
256 Realtime
128 High
32768 Above normal
32 Normal
16384 Below normal
64 Low
Вы можете создать пакетный файл для запуска программы следующим образом:
start "drive:path\program_name.exe"
wmic process where name="program_name.exe" CALL setpriority PriorityLevelID
Ссылка: https://www.tenforums.com/tutorials/89548-set-cpu-process-priority-applications-windows-10-a.html .
Process Lasso может навязывать процессам приоритеты (и привязку к процессору) наряду с другими функциями, такими как ProBalance (Process Balance):
Интеллектуально настраивает приоритеты запуска программ так, чтобы процессы с плохим поведением не оказывали существенного влияния на быстродействие вашего ПК.
Это бесплатно для домашнего использования, с несколькими nagscreens, 14,95$ для регистрации лицензии Pro.
Другой способ - изменить параметры запуска программы. Вы можете видеть, что установка приоритета процесса во время вызова.
Изменение ярлыка приложения на "start /low [program.exe]" должно работать на вас.