Установка приоритета процесса при каждом запуске?

Мой рабочий компьютер сильно замедляется, поэтому я хочу сделать все, что в моих силах, чтобы убедиться, что то, что мне нужно для ответа, действительно отзывчиво. Например, я запускаю 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]" должно работать на вас.

Другие вопросы по тегам