Управление приложениями, процессами

Управление приложениями, процессами и производительностью

Всякий раз, когда операционная система или пользователь за­пускает службу, приложение или команду, Microsoft Windows запускает один или более процессов для управления соответ­ствующей программой.

Процессы могут работать в фоновом режиме независимо от сеансов зарегистрированных пользователей. Фоновые процессы не имеют контроля над клавиатурой, мышью или другими уст­ройствами ввода и обычно запускаются операционной системой. Но с помощью Task Scheduler (Планировщик заданий) пользо­ватели тоже могут запускать процессы в фоновом режиме, и эти процессы способны работать независимо от того, зарегистриро­ван ли пользователь в системе. Например, если планировщик заданий запускает назначенное задание при наличии зарегист­рированного пользователя, процесс может продолжить выполне­ние даже после завершения сеанса пользователя.

Windows отслеживает каждый процесс, выполняемый в системе, по имени образа, идентификатору процесса, приори­тету и другим параметрам. Имя образа — это имя исполняе­мого файла, используемого для запуска процесса, скажем, Msdtc.exe или Svchost.exe. Идентификатор процесса — число­вой идентификатор процесса, например 2588. Приоритет про­цесса указывает на то, какую часть системных ресурсов дол­жен получить процесс но сравнению с другими выполняемы­ми процессами. Процесс с более высоким приоритетом полу­чает преимущества над процессами с более низким приорите­том, и, вероятно, ему не придется дожидаться получения про­цессорного времени, доступа к памяти или обращения к фай­ловой системе. Процесс с более низким приоритетом, напро­тив, обычно вынужден ждать завершения текущей задачи, вы­полняемой процессом с более высоким приоритетом, и толь­ко после этого он может получить доступ к процессору, памя­ти или файловой системе.

Решение проблем с зависшими процессами

В идеале процессы должны работать без всяких проблем. В действительности, однако, проблемы возникают — и зачастую в самый неподходящий момент. Обычно проблемы заклю­чаются в следующем.

  • Процессы перестают отвечать, например, когда приложение прекращает обработку запросов. Как только это происхо­дит, пользователи могут сказать вам, что они не в состоя­нии работать с конкретным приложением, что их запросы к приложению остаются необработанными или что оно их игнорирует.
  • Процессы не освобождают процессор — например, у вас появляется неконтролируемый процесс, который захваты­вает все процессорное время. Когда это происходит, систе­ма может показаться работающей медленно или вообще за­висшей, так как этот процесс пожирает все процессорное время и не дает другим процессам выполнять свои задачи.
  • Процессы используют больше памяти, чем нужно, например, когда в приложении есть утечка памяти. В этом случае про­цессы не освобождают занятую ими память. В результате свободная память в системе может постепенно уменьшаться с течением времени, и, поскольку доступной памяти стано­вится мало, может замедлиться отклик системы на запро­сы, или она просто перестанет на них отвечать. Утечки па­мяти также могут нарушить работу других програм, выпол­няемых в данной системе.

В большинстве случаев, когда обнаруживаются эти или другие проблемы, процесс обычно останавливают и запуска­ют вновь. Также нужно проверить журналы событий для вы­явления причины проблемы. При утечках памяти следует из­вестить об этом разработчиков и проверить, не появилось ли обновление, решающее данную проблему.

2024  Командная строка Windows  
top Яндекс.Метрика