Performance counter dll host что это

Обновлено: 04.07.2024

Если Вы желаете изменить или восстановить значения служб установленных в системе по умолчанию, то Вы можете воспользоваться указанными ниже таблицами, для внесения изменений вручную. (Подробное описание действий находится под таблицами).

Для быстрого восстановления значений всех служб по умолчанию, выполните действия предложенные в одном из указанных ниже вариантов:

Вариант 1.

  • Зайдите на сайт Windows Sysinternals
  • Скачайте комплект программ PsTools и распакуйте в любую папку.
  • Скопируйте файл PsExec.exe в папку C:\Windows\System32
  • Запустите командную строку от имени администратора.
    В строке поиска меню Пуск введите команду: cmd и нажмите одновременно Ctrl+Shift+Enter.
  • Введите указанную ниже команду и нажмите Enter:

psexec -i -d -s c:\windows\regedit.exe

При первом запуске PsExec надо будет нажать кнопку Agree. При последующих запусках данный запрос выводится не будет.

Скачайте архивскачать, содержащий набор reg-файлов для восстановления значений служб по умолчанию и распакуйте в любую папку.

  • В редакторе реестра нажмите Файл -> Импорт
    В случае появления окна Location is not available (Расположение не доступно) нажмите в нем кнопку ОК.
  • Выберите reg-файл соответствующий редакции и разрядности Вашей Windows и нажмите кнопку ОК.

В безопасном режиме и в обычном режиме загружаются разные службы, поэтому в архиве ServiceDefaultRegistryEntries.zip содержаться две папки с подпапками.
В папке Default находятся reg-файлы для восстановления значения служб по умолчанию в обычном режиме.
В папке SafeMode находятся reg-файлы для восстановления значения служб по умолчанию в безопасном режиме.

Вариант 2.

Скачайте архивскачатьи распакуйте в любую папку.

  • Перезапустите компьютер
  • До начала запуска Windows нажмите на клавишу F8.
    Если клавиша F8 используется материнской платой, то выберите диск на котором у Вас установлена Windows, нажмите Enter, а затем сразу же F8.
  • В появившемся списке вариантов загрузки Дополнительные варианты загрузки (Advanced Boot Options) выберите пункт Устранение неполадок компьютера (Repair Your Computer) и нажмите Enter.
  • Выберите метод ввода с клавиатуры (keyboard input metdod) - США (US) и нажмите Next (Далее)
  • В списке инструментов выберите командную строку - Командная строка (Command Prompt).
  • Введите команду regedit и нажмите кнопку Enter.
  • В редакторе реестра нажмите Файл -> Импорт
  • Выберите reg-файл соответствующий редакции и разрядности Вашей Windows и нажмите кнопку Открыть (Open).

В безопасном режиме и в обычном режиме загружаются разные службы, поэтому в архиве ServiceDefaultRegistryEntries.zip содержаться две папки с под папками.
В папке Default находятся reg-файлы для восстановления значения служб по умолчанию в обычном режиме.
В папке SafeMode находятся reg-файлы для восстановления значения служб по умолчанию в безопасном режиме.

Таблица 1. Общие сведения о службах.

Настройка для служб значений параметра "Тип запуска" в соответствии с редакцией Windows.

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

"Безопасная" - это конфигурация, которую могут использовать 95% из пользователей с небольшими или без побочных эффектов.
Она также сводит к минимуму количество «ошибок» отображаемых в оснастке «Просмотр событий».
Данная конфигурация не гарантирует стопроцентной работы у Вас, но если Вы желаете попробовать изменить настройки служб, то это именно то с чего Вам возможно следовало бы начать.
20 параметров служб было изменено от установленного по умолчанию. Внесенные изменения помечены (*) звездочкой.

"Настроенная" - это конфигурация, позволяющая сократить количество запущенных служб, сохраняя при этом безопасность системы.
Данная конфигурация не гарантирует стопроцентной работы у Вас.
61 параметр служб было изменен от установленного по умолчанию. Внесенные изменения помечены (*) звездочкой.
Данная конфигурация позволяет системе, по-прежнему выполнять многие сетевые функции, такие как: общий доступ к файлам и принтерам, доступ к домашней группе, использование беспроводных сетей (ноутбук), а также оставляет активными несколько "возможностей" связанных с безопасностью: Защитник Windows, Брандмауэр Windows и Центр обновлений Windows.
Эта конфигурация не подходит для пользователей использующих Windows Media Center.

"Минимум" - ВНИМАНИЕ, данная конфигурация отключает многие встроенные функции для Windows 7, а также нескольких возможностей обеспечивающих безопасность. Применять ее могут лишь опытные пользователи.
86 параметров служб было изменено от установленного по умолчанию. Внесенные изменения помечены (*) звездочкой.
Данная конфигурация не подходит для системы, которая непосредственно связана с Интернет, так как Защитник Windows, Брандмауэр Windows и Центр обновлений Windows отключены!
Данная конфигурация не подходит для ноутбука, в связи с тем, что беспроводные сети (также как и Защитник и Брандмауэр) отключены, и не смогут сдержать атаку во время роуминга в случайных беспроводных подключениях за пределами дома.
Такая конфигурация не для системы, где внутренние сетевые атаки являются проблемой. Например: Многофункциональный компьютер с несколькими членами семьи и неопытными пользователями.
Это не для системы, которая обеспечивает сетевые ресурсы, такие как принтеры, Media Center, и библиотеки WMP для других компьютеров, подключенных к локальной сети. Используйте данную конфигурацию на свой собственный риск.
Она приведена здесь в качестве минимальной конфигурации служб для Вашей системы, к которой Вам следует добавлять необходимые для работы службы.

Данные конфигурации

Автоматически - службы в этом состоянии, будут запускаться при загрузке. Некоторые службы, когда больше не будут обходимы, также автоматически остановятся. Если Вы обнаружите службу, которая Вам не требуется, то установите для нее тип запуска в положение Вручную или Отключена.
Автоматически (отложенный запуск) - службы в этом состоянии, будут запущены только после загрузки. Некоторые службы, когда больше не будут обходимы, также автоматически остановятся. Если Вы обнаружите службу, которая Вам не требуется, то установите для нее тип запуска в положение Вручную или Отключена.
Вручную - ручной режим позволяет запускать службы Windows в случае необходимости. Однако, очень немногие службы, когда потребуется будут запущены в ручном режиме. Если Вы предполагаете, что Вам для работы требуется определенная служба, то установите для нее тип запуска в положение Автоматически.
Отключена - эта настройка остановит запуск службы, даже если ее запуск необходим. В оснастке "Просмотр событий" будут показаны жалобы на этот факт. Некоторые службы, пока будут отключены, будут постоянно жаловаться. Однако о данной ситуации можно позаботиться установив тип запуска для службы в положение Вручную.
Запущена - служба при любом установленном значении: Вручную или Автоматически, работает по умолчанию или запускается сразу после загрузки.
Не установлена - данная служба не установлена по умолчанию, для ее установки используйте элемент Компоненты Windows (Панель управления\Все элементы панели управления\Программы и компоненты -> Включение или отключение компонентов Windows)
Не доступна - служба не применяется в конкретной версии Windows.
Удалена - данная служба удалена при помощи окна Компоненты Windows (Панель управления\Все элементы панели управления\Программы и компоненты -> Включение или отключение компонентов Windows)

По умолчанию в таблице отключено отображение конфигурации для "Windows 7 Начальная", а также для специально настроенных конфигураций: "Безопасная", "Оптимизированная", "Минимум".
Чтобы включить/отключить столбец с нужной конфигурацией Вам необходимо воспользоваться кнопкой "Показать / Скрыть столбцы" в верхнем левом углу таблицы.
Данная кнопка позволяет отобразить или спрятать указанные Вами столбцы.
Для осуществления данных действий установите или снимите флажок напротив названия столбца.
Для закрытия списка выбора столбцов, щелкните либо в любом месте затемненного прозрачного слоя, либо на саму кнопку "Показать / Скрыть столбцы".

Изменение у службы значения "Тип запуска".

  1. Откройте одним из предложенных ниже способов оснастку Службы:
  2. Откройте Панель управления\Система и безопасность\Администрирование и запустите оснастку Службы.
  3. Откройте Панель управления\Все элементы панели управления\Администрирование и запустите оснастку Службы.
  4. Откройте Пуск -> Администрирование -> Службы.
  5. В строке поиска меню Пуск или в окне Выполнить (Win+R) введите services.msc и нажмите Enter.
  6. Откройте одним из предложенных ниже способов Свойства необходимой Вам службы:
  7. Дважды щелкните левой кнопкой мыши на имени необходимой Вам службы.
  8. Щелкните на необходимой Вам службе правой кнопкой мыши и выберите пункт Свойства.
  9. На вкладке Общие, в ниспадающем списке напротив надписи Тип запуска установите желаемое значение.

Управление работой служб из командной строки

  1. Запустите командную строку от имени администратора.
    В строке поиска меню Пуск введите команду: cmd и нажмите одновременно Ctrl+Shift+Enter.
  2. Для выполнения необходимого Вам действия в соответствии с шаблоном введите требуемую команду и нажмите Enter.

Запуск службы:

net start Имя_службы

Установка режима запуска службы:

sc config „Имя службы“ start= Тип_запуска

Используйте кавычки, если имя службы содержит пробелы.
Между знаком равенства и значением параметра должен быть пробел.
Тип запуска: auto (автоматически), demand (вручную), disabled (отключена).

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

Представляет компонент счетчика производительности Windows NT.

Примеры

В следующем примере кода показано использование PerformanceCounter класса для создания и использования AverageCount64 типа счетчика. Пример создает категории, настраивает счетчики, собирает данные из счетчиков и вызывает CounterSampleCalculator класс для интерпретации данных счетчика производительности. Промежуточные и окончательные результаты отображаются в окне консоли. Дополнительные примеры других типов счетчиков производительности см. в разделе PerformanceCounterType перечисление.

Комментарии

PerformanceCounterКомпонент можно использовать как для чтения существующих стандартных или пользовательских счетчиков, так и для публикации (записи) данных производительности в пользовательские счетчики.

Кроме того, передача PerformanceCounter объекта в код с меньшим доверием может привести к проблемам безопасности. Никогда не передавайте объекты счетчиков производительности, PerformanceCounterCategory например PerformanceCounter , или, в менее надежный код.

Чтобы выполнить чтение из счетчика производительности, создайте экземпляр PerformanceCounter класса, задайте для CategoryName CounterName свойства, и, при необходимости, свойство InstanceName или MachineName , а затем вызовите NextValue метод для считывания счетчика производительности.

Чтобы опубликовать данные счетчика производительности, создайте один или несколько пользовательских счетчиков с помощью PerformanceCounterCategory.Create метода, создайте экземпляр PerformanceCounter класса, задайте значения CategoryName свойств, CounterName и, при необходимости InstanceName или MachineName свойства, а затем вызовите IncrementBy методы, Increment или Decrement , или задайте свойство, RawValue чтобы изменить значение пользовательского счетчика.

IncrementМетоды, IncrementBy и Decrement используют для обновления значения счетчика взаимоблокировки. Это позволяет точно синхронизировать значение счетчика в многопоточных или многопроцессных сценариях, но также приводит к снижению производительности. Если точность, предоставляемая блокируемыми операциями, не нужна, можно обновить RawValue свойство напрямую в течение 5 раз, чтобы улучшить производительность. Однако в многопоточных сценариях некоторые обновления значения счетчика могут игнорироваться, что приводит к неточности данных.

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

Каждый счетчик однозначно определяется по его имени и расположению. Так же, как путь к файлу включает диск, каталог, один или несколько подкаталогов и имя файла, сведения о счетчике состоят из четырех элементов: компьютера, категории, экземпляра категории и имени счетчика.

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

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

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

Конструкторы

Выполняет инициализацию нового, доступного только для чтения экземпляра класса PerformanceCounter, не связывая этот экземпляр с каким-нибудь системным или определенным пользователем счетчиком производительности.

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

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

Выполняет инициализацию нового, доступного только для чтения экземпляра класса PerformanceCounter и связывает этот экземпляр с конкретным системным или определенным пользователем счетчиком производительности и экземпляром категории на локальном компьютере.

Выполняет инициализацию нового, доступного только для чтения или для чтения и записи экземпляра класса PerformanceCounter и связывает этот экземпляр с конкретным системным или определенным пользователем счетчиком производительности и экземпляром категории на локальном компьютере.

Выполняет инициализацию нового, доступного только для чтения экземпляра класса PerformanceCounter и связывает этот экземпляр с конкретным системным или определенным пользователем счетчиком производительности на указанном компьютере.

Он указывает размер глобальной памяти в байтах, используемой счетчиками производительности. Размер по умолчанию равен 524,288 байт.

Свойства

Возвращает значение, показывающее, может ли компонент вызывать событие.

Получает или задает имя категории счетчика производительности для этого счетчика производительности.

Возвращает объект IContainer, который содержит коллекцию Component.

Получает описание для этого счетчика производительности.

Получает или задает имя категории счетчика производительности, связанного с данным экземпляром PerformanceCounter.

Получает тип счетчика, с которым связан счетчик производительности.

Возвращает значение, указывающее, находится ли данный компонент Component в режиме конструктора в настоящее время.

Возвращает список обработчиков событий, которые прикреплены к этому объекту Component.

Получает или задает время существования процесса.

Получает или задает имя экземпляра для этого счетчика производительности.

Возвращает или задает имя компьютера для этого счетчика производительности.

Получает или задает начальное или не рассчитанное значение этого счетчика.

Получает или задает значение, определяющее, доступен ли экземпляр PerformanceCounter только для чтения.

Получает или задает ISite объекта Component.

Методы

Начинает инициализацию экземпляра PerformanceCounter, используемого в форме или другим компонентом. Инициализация происходит во время выполнения.

Закрывает счетчик производительности и высвобождает все ресурсы, распределенные под этот экземпляр счетчика производительности.

Высвобождает разделенное состояние библиотеки счетчика производительности, распределенное под счетчики.

Создает объект, который содержит всю необходимую информацию для создания прокси-сервера, используемого для взаимодействия с удаленным объектом.

Уменьшает значение связанного счетчика производительности на единицу через эффективные атомарные операции.

Освобождает все ресурсы, занятые модулем Component.

Освобождает неуправляемые ресурсы, используемые объектом Component, а при необходимости освобождает также управляемые ресурсы.

Завершает инициализацию экземпляра PerformanceCounter, используемого в форме или другим компонентом. Инициализация происходит во время выполнения.

Определяет, равен ли указанный объект текущему объекту.

Служит хэш-функцией по умолчанию.

Извлекает объект обслуживания во время существования, который управляет политикой времени существования данного экземпляра.

Возвращает объект, представляющий службу, предоставляемую классом Component или классом Container.

Возвращает объект Type для текущего экземпляра.

Увеличивает значение связанного счетчика производительности на единицу через эффективные атомарные операции.

Увеличивает или уменьшает значение связанного счетчика производительности на заданное значение посредством эффективных атомарных операций.

Получает объект службы времени существования для управления политикой времени существования для этого экземпляра.

Создает неполную копию текущего объекта Object.

Создает неполную копию текущего объекта MarshalByRefObject.

Получает образец счетчика и возвращает начальное или не рассчитанное значение для него.

Получает образец счетчика и возвращает расчетное значение для него.

Удаляет экземпляр категории, указанной объектом PerformanceCounter свойства InstanceName.

Возвращает объект String, содержащий имя Component, если оно есть. Этот метод не следует переопределять.

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

Начнем со всем давно известного Performance Monitor. Это стандартная утилита, которая входит во все современные редакции Windows. Вызывается либо из меню, либо из командной строки или строки поиска в Windows 8/10 вводом команды perfmon. После запуска утилиты мы видим стандартную панель, в которой можем добавить и удалить счетчики, изменить представление и масштабировать графики с данными.


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

Первая утилита — это Typeperf, которая может выводить данные со счетчиков производительности на экран или в файл, а также позволяет получить список счетчиков, установленных в системе. Примеры использования.

Выводит на экран загрузку процессора с интервалом 1 сек.:


Выводит в файл названия счётчиков производительности, связанные с объектом PhysicalDisk:

В нашем случае мы можем использовать утилиту Typeperf, чтобы создать файл с нужными нам счетчиками, который в дальнейшем будем использовать как шаблон для импорта счетчиков в сборщик данных.

Следующая утилита – Logman. Данная утилита позволяет создавать, изменять и управлять различными сборщиками данных. Мы будем создавать сборщик данных для счетчиков производительности. Вот, например, краткая справка по команде Logman, которая относится к счетчикам производительности и управлению сборщиком данных.




Разберем несколько примеров, которые нам понадобятся в дальнейшем.

Создадим сборщик данных с именем DataCollector_test, импортировав счетчики производительности из файла test.xml:


Создание файла для сбора данных производительности с включённым циркулярным режимом и заданным размером:

Изменение пути файла с данными производительности по умолчанию:

Запуск коллектора данных DataCollector_test:

Остановка коллектора данных DataCollector_test:

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

Рассмотрим еще одну утилиту — Relog, которая позволяет производить манипуляции с файлом данных после работы сборщика данных. Вот ее описание:


Ниже несколько сценариев применения этой утилиты.

Извлечение данных счетчиков производительности из файла logfile.blg с применением фильтра со списком счетчиков counters.txt и записью результата в бинарный формат:

Извлечение списка счетчиков производительности из logfile.blg в текстовый файл counters.txt:

Напрямую работать с этой утилитой мы не будем, но информация о ней в дальнейшем поможет в случае возникновения проблем в файле PowerShell, который генерирует утилита PAL.

Отметим еще один момент, некоторые системы анализа требуют данные с наименованиями счетчиков производительности на английском языке. Если интерфейс нашей системы на русском языке, то нам необходимо проделать следующие манипуляции: завести локального пользователя, дать ему права на сбор данных (обычно дают права локального администратора), войти в систему под ним и в свойствах системы изменить язык интерфейса.


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


После этого имена счетчиков и файлов будут на английском языке.

Также отметим возможность сбора данных для SQL Server с помощью утилиты из состава продукта. Это SQLDIAG, которая обрабатывает журналы производительности Windows, журналы событий Windows, трассировки SQL Server Profiler, сведения о блокировках SQL Server и сведения о конфигурации SQL Server. Указать, какие типы сведений нужно собирать с помощью программы SQLdiag, можно в файле конфигурации SQLDiag.xml.



Вот так выглядит окно этого инструмента.


В итоге, процесс сбора данных для SQL может выглядеть так. С помощью PSSDIAG мы формируем xml-файл. Далее посылаем этот файл клиенту, который запускает SQLDIAG c нашим xml-файлом на удаленном сервере и присылает нам для анализа результат работы в виде blg-файла, который мы будем анализировать в следующей части.

Данная утилита написана Clint Huffman, который является PFE-инженером Microsoft и занимается анализом производительности систем. Также он является одним из авторов авторизованного курса Vital Sign, который читается в Microsoft и доступен для корпоративных заказчиков, в том числе в России на русском языке. Утилита распространяется свободно, ссылку на нее я приведу ниже.

Вот так выглядит стартовое окно утилиты.


На вкладке Counter Log задаётся путь к файлу данных со счетчиками производительности, собранными ранее. Также мы можем задать интервал, за который будет производиться анализ.


На вкладке Threshold File находится список шаблонов, которые можно экспортировать в формат xml и использовать как список счетчиков для сборщика данных. Обратите внимание на большой выбор шаблонов для анализа производительности для различных систем. Пример загрузки из командной строки был показан выше. Самое ценное, что в этих заранее подготовленных шаблонах установлены граничные значения для этих параметров, которые будут использованы в дальнейшем для анализа собранных данных.




Вот так, например, выглядят граничные значения для счётчиков дисковой производительности:


Мы можем создавать свои шаблоны с использованием нужных счетчиков, которые будут подстроены под нужды нашей организации.

Действуем по следующему алгоритму: на рабочей станции запускаем утилиту PAL, переходим на вкладку Threshold File и экспортируем шаблон в виде xml-файла. На основании этого файла на сервере создаем сборщик данных и запускаем сборку информации.
После сбора данных копируем полученный файл на рабочую станцию, чтобы анализом не нагружать сервер, возвращаемся на вкладку Counter Log, указываем путь к файлу. Снова переходим на Threshold File и выбираем тот самый шаблон, который экспортировали для сборщика данных.

Переключаемся на вкладку Question и указываем объем оперативной памяти на сервере, на котором был осуществлён сбор данных. В случае 32-битной системы заполним UserVa.


Переходим к вкладке Output Options, на которой задаем интервал разбиения для анализа. Значение по умолчанию AUTO делит интервал на 30 равных частей.


Вкладка File Output выглядит довольно обычно, указываем на ней путь к файлам итоговых отчетов в формате HTML или XML.


Вкладка Queue показывает итоговый скрипт на PowerShell. В общем можно сказать, что утилита собирает параметры, которые она подставляет в скрипт PAL.PS1.


Итоговая вкладка задает параметры исполнения. Можно одновременно запустить несколько скриптов и указать число потоков на процессоре. Хотелось бы акцентировать внимание, что обработку blg делает не утилита, а скрипт PowerShell, и это открывает возможности для полной автоматизации анализа логов. Например, каждые сутки перезапускается сборщик данных, в результате освобождается текущий blg-файл и создаётся новый. Старый файл копируется на специальный сервер, где будет запускаться скрипт, обрабатывающий данный файл. После этого готовый HTML- или XML-файл с результатами перемещается в определённую директорию или высылается на почтовый ящик.



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

Итогом работы утилиты будет отчет в выбранном формате, в котором есть графики и числовые данные, позволяющие понять, что происходило в системе за заданный период с учетом граничных значений алертов в шаблоне на вкладке Threshold File. В общем, анализ HTML-файла позволит на начальном этапе определить проблемные места в системе и понять, куда двигаться дальше, как в плане более тонкого мониторинга, так и в плане модернизации или переконфигурирования системы. В блоге Clint Huffman есть скрипт, которым можно конвертировать файл шаблона с граничными условиями в более понятный формат.



Иногда возникает необходимость в превентивном мониторинге проблемной системы. Для этого мы создадим «черный ящик», в который будем записывать данные производительности. Вернемся к скриптам, описанным ранее.

Создадим сборщик данных c именем BlackBox, импортировав счетчики производительности из файла SystemOverview.xml, который выгрузили из утилиты PAL или создали самостоятельно:

Создание файла для сбора данных производительности с включённым циркулярным режимом и заданным размером 600 МБ (около 2 суток при стандартном наборе счетчиков):

Изменение пути файла с данными производительности по умолчанию:

Запуск коллектора данных BlackBox:

Данный скрипт создает задачу перезапуска сборщика данных в случае перезапуска системы:

На всякий случай поправим свойства диспетчера данных, чтобы не заполнить место на диске, так как после перезапуска сборщика данных создается новый файл с лимитом 600 МБ.


Отметим, что скопировать файл с данными можно только при остановленном сборщике данных. Остановить же последний можно скриптом или с помощью графического интерфейса.

Остановка коллектора данных BlackBox:

На этом закончим часть, посвященную сбору и первичному анализу производительности.

Настройка и оптимизация Windows 10 после установки

Всякая полезная информация, никак не связанная с видео и дизайном.

Canonical Link

Настройка и оптимизация Windows 10 после установки

Настройка и оптимизация Windows 10.jpg (92.47 КБ) 26862 просмотра Настройка и оптимизация Windows 10.jpg (92.47 КБ) 26862 просмотра warning.jpg (48.06 КБ) 26621 просмотр warning.jpg (48.06 КБ) 26621 просмотр
Ниже я прикладываю все файлы, которые использовал на стриме. Внимательно изучайте их, не запускайте просто так вслепую! Я старался объяснить свои действия как можно подробнее, смотрите запись стрима. Если что-то не понятно - используйте goolge, а если и после поиска не уверены - не выполняйте эти команды. Отберите только то, что вам действительно нужно.

Содержание:

Полезные файлы для автоматических настроек

Файл реестр all.reg
Время на стриме - 27:04 "Изучение моего файла all.reg"

Windows Registry Editor Version 5.00


Файл Remove Extra Folders from This PC.bat
Время на стриме - 41:10 "Удаление лишних папок в Этом Компьютере"

@echo off
openfiles > nul 2>&1
if not %errorlevel% equ 0 (
echo.===NOT ADMIN===
pause > nul
exit
)
@echo on

REG DELETE "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\MyComputer\NameSpace\" /f
REG DELETE "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\MyComputer\NameSpace\" /f
REG DELETE "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\MyComputer\NameSpace\" /f
REG DELETE "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\MyComputer\NameSpace\" /f
REG DELETE "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\MyComputer\NameSpace\" /f
REG DELETE "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\MyComputer\NameSpace\" /f
REG DELETE "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\MyComputer\NameSpace\" /f
REG DELETE "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\MyComputer\NameSpace\" /f
REG DELETE "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\MyComputer\NameSpace\" /f
REG DELETE "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\MyComputer\NameSpace\" /f
REG DELETE "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\MyComputer\NameSpace\" /f
@echo.
@echo.
@echo = = = Restart Explorer! = = =
@echo.
@echo.
@pause


Файл Add Block Telemetry to Host.bat
Время на стриме - 52:06 "Добавление блокированных адресов сайтов в файл hosts"

@echo off
cls
echo Editing Hosts File

SET NEWLINE=^& echo.

:AddTelemetryHost
echo.=== %1 ====
FIND /C /I " %1" %WINDIR%\system32\drivers\etc\hosts > NUL 2>&1
IF %ERRORLEVEL% NEQ 0 ECHO %NEWLINE%^0.0.0.0 %1>>%WINDIR%\System32\drivers\etc\hosts
exit /b


Файл Удобное удаление SmartScreen.exe.bat
Время на стриме - 58:35 "Полное удаление функций SmartScreen и получение доступа к защищенным файлам из командной строки"

@echo off
openfiles > nul 2>&1
if not %errorlevel% equ 0 (
echo.===NOT ADMIN===
pause > nul
exit
)
@echo on


Файл Удобное удаление Compattelrunner.exe.bat
Время на стриме - 01:03:35 "Удобное удаление Compattelrunner.exe и отключение задач планировщика для сбора данных"

@echo off
openfiles > nul 2>&1
if not %errorlevel% equ 0 (
echo.===NOT ADMIN===
pause > nul
exit
)
@echo on

schtasks /change /TN "\Microsoft\Windows\Autochk\Proxy" /DISABLE
schtasks /change /TN "\Microsoft\Windows\NetTrace\GatherNetworkInfo" /DISABLE
schtasks /change /TN "\Microsoft\Windows\LanguageComponentsInstaller\Installation" /DISABLE


Файл Remove App.bat
Время на стриме - 01:10:45 "Быстрое удаление стандартных ненужных приложений Windows 10"

PowerShell -NoProfile -ExecutionPolicy Bypass -Command "Get-AppxPackage *Alarm* | Remove-AppxPackage"
PowerShell -NoProfile -ExecutionPolicy Bypass -Command "Get-AppxPackage *Feedback* | Remove-AppxPackage"
PowerShell -NoProfile -ExecutionPolicy Bypass -Command "Get-AppxPackage *GetHelp* | Remove-AppxPackage"
PowerShell -NoProfile -ExecutionPolicy Bypass -Command "Get-AppxPackage *Getstarted* | Remove-AppxPackage"
PowerShell -NoProfile -ExecutionPolicy Bypass -Command "Get-AppxPackage *Messaging* | Remove-AppxPackage"
PowerShell -NoProfile -ExecutionPolicy Bypass -Command "Get-AppxPackage *Microsoft.Print3D* | Remove-AppxPackage"
PowerShell -NoProfile -ExecutionPolicy Bypass -Command "Get-AppxPackage *Microsoft.ScreenSketch* | Remove-AppxPackage"
PowerShell -NoProfile -ExecutionPolicy Bypass -Command "Get-AppxPackage *Microsoft.Wallet* | Remove-AppxPackage"
PowerShell -NoProfile -ExecutionPolicy Bypass -Command "Get-AppxPackage *MicrosoftSolitaireCollection* | Remove-AppxPackage"
PowerShell -NoProfile -ExecutionPolicy Bypass -Command "Get-AppxPackage *MixedReality* | Remove-AppxPackage"
PowerShell -NoProfile -ExecutionPolicy Bypass -Command "Get-AppxPackage *OfficeHub* | Remove-AppxPackage"
PowerShell -NoProfile -ExecutionPolicy Bypass -Command "Get-AppxPackage *OneConnect* | Remove-AppxPackage"
PowerShell -NoProfile -ExecutionPolicy Bypass -Command "Get-AppxPackage *OneNote* | Remove-AppxPackage"
PowerShell -NoProfile -ExecutionPolicy Bypass -Command "Get-AppxPackage *Paint* | Remove-AppxPackage"
PowerShell -NoProfile -ExecutionPolicy Bypass -Command "Get-AppxPackage *Recorder* | Remove-AppxPackage"
PowerShell -NoProfile -ExecutionPolicy Bypass -Command "Get-AppxPackage *StickyNotes* | Remove-AppxPackage"
PowerShell -NoProfile -ExecutionPolicy Bypass -Command "Get-AppxPackage *Viewer* | Remove-AppxPackage"
PowerShell -NoProfile -ExecutionPolicy Bypass -Command "Get-AppxPackage *WindowsCamera* | Remove-AppxPackage"
PowerShell -NoProfile -ExecutionPolicy Bypass -Command "Get-AppxPackage *WindowsMaps* | Remove-AppxPackage"
PowerShell -NoProfile -ExecutionPolicy Bypass -Command "Get-AppxPackage *XboxApp* | Remove-AppxPackage"
PowerShell -NoProfile -ExecutionPolicy Bypass -Command "Get-AppxPackage *XboxGamingOverlay* | Remove-AppxPackage"
PowerShell -NoProfile -ExecutionPolicy Bypass -Command "Get-AppxPackage *XboxSpeechToTextOverlay* | Remove-AppxPackage"
PowerShell -NoProfile -ExecutionPolicy Bypass -Command "Get-AppxPackage *Microsoft.Xbox.TCUI* | Remove-AppxPackage"
PowerShell -NoProfile -ExecutionPolicy Bypass -Command "Get-AppxPackage *Microsoft.XboxGameOverlay* | Remove-AppxPackage"
PowerShell -NoProfile -ExecutionPolicy Bypass -Command "Get-AppxPackage *Zune* | Remove-AppxPackage"
PowerShell -NoProfile -ExecutionPolicy Bypass -Command "Get-AppxPackage *communications* | Remove-AppxPackage"
PowerShell -NoProfile -ExecutionPolicy Bypass -Command "Get-AppxPackage *microsoft.people* | Remove-AppxPackage"
PowerShell -NoProfile -ExecutionPolicy Bypass -Command "Get-AppxPackage *photos* | Remove-AppxPackage"
PowerShell -NoProfile -ExecutionPolicy Bypass -Command "Get-AppxPackage *yourphone* | Remove-AppxPackage"


Файл Удаление OneDrive.bat
Время на стриме - 01:25:18

taskkill /f /im OneDrive.exe
%SystemRoot%\SysWOW64\OneDriveSetup.exe /uninstall
rd "%USERPROFILE%\OneDrive" /Q /S
rd "C:\OneDriveTemp" /Q /S
rd "%LOCALAPPDATA%\Microsoft\OneDrive" /Q /S
rd "%PROGRAMDATA%\Microsoft OneDrive" /Q /S
pause


Файл disabling clipboard service.bat
Время на стриме - 02:22:45 "Про службу буфера обмена"

reg add "HKLM\System\CurrentControlSet\Services\cbdhsvc" /v "Start" /t REG_DWORD /d "4" /f
reg add "HKCU\Software\Microsoft\Clipboard" /v "EnableClipboardHistory " /t REG_DWORD /d "0" /f
reg add "HKLM\Software\Policies\Microsoft\Windows\System" /v "AllowCrossDeviceClipboard " /t REG_DWORD /d "0" /f
reg add "HKLM\Software\Policies\Microsoft\Windows\System" /v "AllowClipboardHistory" /t REG_DWORD /d "0" /f
@pause

Читайте также: