2

Вопрос в том, какой процесс можно попытаться восстановить после полной нестабильности системы, прежде чем тянуть плагин, когда мы ничего не можем сделать, кроме программ или пакетов в пути из диалогового окна запуска (клавиша windows + r), а производительность настолько невелика, что taskMGR / procEXP / другие программы с визуальным интерфейсом не используются?

Я не эксперт по Windows, но в идеале кто-то написал программу, которая делает более или менее такие вещи:

Немедленно установите (или, возможно, я могу установить из приглашения на запуск) его приоритет на чрезвычайно высокий, оцените узкие места производительности. Например, процессор 100%? Если это так, определите нарушающую программу (ы) или проблемы. Попытайтесь исправить ошибки в журнале, а затем предоставьте грубую обратную связь, спрашивая пользователя, достаточно ли стабилизировалась его производительность, чтобы прервать работу, подождать несколько секунд, если нет обратной связи, и т.д. восстановиться и, возможно, наконец, предоставить серию звуковых сигналов пользователю, или что у вас есть, чтобы сказать: «Хорошо, я сдаюсь, время, чтобы отключить». Идеально создать журнал, когда это возможно.

Эти виды ужасных зависаний - это ситуация, когда, конечно, пытаться что-то, что угодно, лучше, чем ничего - если это что-то разумно - когда альтернатива вырывает координацию власти.

Опять же, я не специалист по Windows, поэтому, возможно, есть более элегантный "практический" подход, о котором я не знаю.

3 ответа3

2

тасккилл и отключение - мои друзья :)

1

Многие из инструментов Sysinternals основаны либо на командной строке, либо могут быть использованы из командной строки вместо графического интерфейса пользователя с помощью правильных переключателей, там есть утилиты, которые могут контролировать или отображать статистику практически для любой части Windows.

0

Я согласен с GAThrawn, утилиты CLI ИСКЛЮЧИТЕЛЬНО полезны в таких ситуациях, однако я хотел бы добавить, что одной большой проблемой является привлечение внимания системы для того, чтобы дать слово на краю. Для этого вам нужна программа, которая уже имеет высокий приоритет, но не использует весь ваш ЦП, потому что она бездействует, ожидая, что вы скажете, что у системы проблемы, и она должна начать действовать.

... что-то вроде этого, более или менее, то, что сама Windows делает с диспетчером задач - вы делаете трехпалый салют, и он запускает диспетчер задач. Вы хотите что-то похожее, чтобы вы могли быстро получить контроль, так почему бы не выбрать Диспетчер задач, чтобы сделать это для вас? Все, что вам нужно сделать, - это запустить вашу программу, но ждать ввода, чтобы она заработала, и вы используете диспетчер задач, чтобы привлечь внимание системы и "переключиться" на "целевое" приложение.

РЕДАКТИРОВАТЬ: Ой; только что заметил, что вы говорите, что диспетчеру задач требуется много времени (слишком много), чтобы привлечь его внимание. Итак, ваша уже запущенная программа должна просыпаться время от времени и искать длительные периоды загрузки процессора на 100%.

Я рекомендую вам добиться этого, если высокоприоритетный процесс управляет обычным приоритетным процессом, который делает что-то простое, свидетелем которого может быть высокоприоритетный процесс. Одним из способов было бы то, что нормальный приоритетный процесс при запуске обновляет файл с текущей отметкой времени ("прикосновение" в стиле Unix будет работать нормально). Процесс с высоким приоритетом может просыпаться каждую минуту, скажем, и запускать этот стандартный процесс приоритета. Если этому процессу не удается выполнить свою работу, скажем, за одну секунду, процесс с высоким приоритетом затем начинает действовать, выполняя любую коррективную работу, которую вы считаете подходящей.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .