- PerfMon позволява измерване в реално време и дългосрочен запис с прецизни и конфигурируеми броячи.
- Колекторните комплекти и Logman улесняват повтаряемите заснемания и автоматизацията на сървърите.
- Праговете за памет, процесор, диск и мрежа помагат за откриване на пречки и течове.
- Мониторът за надеждност допълва анализа, като показва повреди и проблеми със съвместимостта.

PerfMon (Performance Monitor) е Най-добрият инструмент за наблюдение в WindowsPerfMon: Позволява ви да преглеждате в реално време, дългосрочно и да анализирате показатели за производителност на процесора, паметта, диска, мрежата и специфични процеси. За разлика от диспечера на задачите, PerfMon взема проби на редовни интервали и записва данните на диска, което го прави идеален за откриване на проблеми, които се появяват едва след часове работа, като например препълване на паметта или изтичане на ресурси в услуги и приложения.
В тази статия ви показваме как да използвате PerfMon. От избора и разбирането на правилните броячи и настройването на извадката и мащабирането на диаграми, до създаването на набори от колектори на данни за регистриране на показатели във файл (BLG/CSV).
Какво е PerfMon и кога да го използваме?
Performance Monitor (PerfMon) е вграденият в Windows инструмент за преглед и запис на броячи.Представя показатели под формата на графики и сурови данни, получени от системни и приложни броячи (напр. от .NET CLR или специфичен процес). Най-голямото му предимство пред „бързите“ комунални услуги като Управление на задачите е, че можете да го оставите да работи с часове или дни, с периодични проби, за да откриете реални тенденции (пикове, базови линии, устойчив растеж).
PerfMon е от решаващо значение за диагностициране на растеж на паметта, течове на манипулатори или нишкии изолирайте проблемните компоненти, като изпълните специфични тестове. Например, ако подозирате изтичане на памет, ще активирате броячи като Private Bytes, Handle Count и Thread Count за засегнатия процес, заедно с броячи на .NET CLR Memory, като # Bytes in all Heaps и Gen 2 heap size за .NET приложения, за да видите дали растежът се случва по време на или извън GC.

Начини за отваряне на PerfMon и специализирани режими
Можете да отворите PerfMon от менюто „Старт“ потърсете „производителност“ или „perfmon“ и стартирайте като администратор когато създавате лог файлове или заявявате отдалечени компютри.
Ако предпочитате Командна линия (Win+R или CMD), имате много полезни директни режими със следния синтаксис:
perfmon </res|report|rel|sys>
Какво прави всяка опция?
- /говеждо месо за да отворите изгледа на ресурсите
- /доклад за да стартирате пакета за колектори за системна диагностика и да видите отчет.
- /рел за да отворите Монитора за надеждност.
- / sys за да отидете директно към класическия монитор за производителност.
Consejo: ако искате да проверите надеждността на оборудването, Perfmon / отн Това е директен пряк път към стабилността и историята на грешките.
Надеждност Monitor Намира се и в Контролен панел > Система и сигурност > Сигурност и поддръжка. Друг пряк път: въведете „reliab“ в търсенето в менюто „Старт“ и изберете „Преглед на историята на надеждността“. Ще видите критични събития, предупреждения и информация по ден или седмица, с достъп до технически подробности на повреди в приложенията и драйверите.
Визуализация в реално време: добавяне и разбиране на броячи
За да видите a графика на живо, отворете „Performance Monitor“ в дървото отляво. Ако има предварително заредени броячи и искате да започнете почистването, изберете ги в таблицата по-долу и натиснете Върховен След това, в областта на графиката, щракнете с десния бутон върху > Добавяне на броячи…, за да отворите диалоговия прозорец с всички налични категории.
Изберете категорията на интерес, броячът и екземпляра на обекта (напр. вашия процес). За да диагностицирате паметта и ресурсите в конкретно приложение, добавете тези ключови броячи от групата Процес y .NET CLR памет където е уместно:
- Процес \ Частни байтове: Частна памет, разпределена от процеса (несподелена с други). Продължителният растеж показва действително потребление на собствена виртуална памет.
- Брой процеси \ манипулатори: брой отворени манипулатори. Постоянните увеличения често показват изтичане на ресурси (сесии, системни обекти).
- Брой процеси \ нишкиБрой активни нишки в процеса. Неочакваните пикове може да показват проблеми с паралелизма или недовършени нишки.
- .NET CLR памет \ # байтове във всички купчиниОбща памет за .NET обекти. Ако нараства без стабилизиране, проверете за GC налягане и неосвободени препратки.
- Размер на .NET CLR паметта \ Gen 2 heapРазмер на купчината от Gen 2 (елементи с дълъг живот). Продължаващият растеж предполага несъбрани елементи с дълъг живот.
Интерпретирайте графиката критичноАко забележите, че Private Bytes (лични байтове) постоянно се увеличава, докато # Bytes (байтове) във всички Heaps (купове) и размерът на heap от Gen 2 остава стабилен, растежът не е в .NET heap-а, а в собствената памет/резерви на процеса. Този модел обикновено показва теч извън GC (напр. незамразени буфери или манипулатори).

Настройте графиката: мащаб, интервал и продължителност
PerfMon позволява коригирайте видимостта на всеки брояч и периода на историята, който виждате. Натиснете Ctrl + Shift + A За да изберете всички броячи в списъка по-долу, щракнете с десния бутон и изберете Мащабиране на избраните броячи, така че всички те ще бъдат видими, без едната да „сплеска“ останалите.
отваря Свойства на диаграмата Щракнете с десния бутон върху > Свойства… и задайте честотата на семплиране в раздела Общи. Например, семплирайте на всеки 10 секунди и задайте Продължителност на 10000, за да обхванете приблизително 2,5 часа в изгледа. Колкото по-дълго е явлението, толкова по-разпределена трябва да бъде честотата на семплиране, за да се избегнат огромни файлове и претоварване на компютъра.
Допълнителен съветPerfMon предоставя свойства и методи на ActiveX, което ви позволява да го интегрирате или контролирате от други инструменти за разработка и дори да го вграждате като контрола в собственото си приложение, ако е необходимо.
Автоматизирайте с Logman: Създаване, стартиране и спиране
Logman.exe е помощната програма за команден ред за създаване и управление на набори от броячи.Отворете командния ред с администраторски права и изпълнете команда, подобна на следната, за да създадете голям пакет за непрекъснато наблюдение с кръгов файл:
Logman.exe create counter Avamar -o "c:\\perflogs\\Emc-avamar.blg" -f bincirc -v mmddhhmm -max 250 -c "\\LogicalDisk(*)\\*" "\\Memory\\*" "\\Network Interface(*)\\*" "\\Paging File(*)\\*" "\\PhysicalDisk(*)\\*" "\\Processor(*)\\*" "\\Process(*)\\*" "\\Redirector\\*" "\\Server\\*" "\\System\\*" -si 00:00:05
за стартиране и спиране на заснемането, използва:
Logman.exe start Avamar
Logman.exe stop Avamar
Съвети за команди: -f bincirc създава кръгов двоичен лог (-max ограничава размера в MB), -si определя интервала на семплиране, а -c добавя броячи групово за обекти и техните екземпляри. Използвайте пътища в кавички и обратни наклонени черти, когато пишете скриптове или експортирате конфигурация.
Кога да използваме Logman? Той е идеален за събиране на данни на дълги разстояния На сървъри автоматизирайте диагностиката или стандартизирайте заснемането на данни на множество машини. Можете да го планирате с Планировчик на задачи и да редувате файлове без намеса.

Полезни броячи и прагове за всяка подсистема
паметСледи действителния капацитет, натоварването от виртуални памети и изчерпването на системния пул. Тези броячи и насоки помагат за разграничаване на симптомите от причините:
- Памет \ % използвани байтовеПроцент на заделената памет над лимита за заделена памет. Ако постоянно надвишава 80%, прегледайте размера на файла за виртуална памет и действителното му използване.
- Памет \ Налични мегабайтиОсвободете физическа памет. Проверете дали < 5% от RAM паметта пада многократно (и < 1% е критично).
- Памет \ Зададени байтовеОбщо посветени байтове. Не трябва да варира рязко; честите промени могат да доведат до разширяване на файла за виртуална памет.
- Памет \ Пул Нестранирани байтовенепейджиран пул (обекти, които не могат да бъдат записани на диск). Устойчиви насищания (> 80%) Те са свързани със събития като 2019 г. (изчерпване на непенджирания пул).
- Памет \ Пул Пейнирани байтове: : пул за виртуална памет. Постоянните стойности > 70% от максимума показват риск от събитие от 2020 г. (изчерпване на пула за виртуална памет).
ПроцесорТърсете продължителни натоварвания и тежки входно/изходни сигнали или шумни драйвери.
- Информация за процесора \ % процесорно време (всички случаи): >90% поддържано на 1 процесор или >80% на многопроцесорен режим предполага претоварване на процесора.
- Процесор \ % Привилегировано време: Време за режим на ядрото. Непрекъснатото надвишаване на 30% на сървърите за приложения/уеб сървъри може да показва прекомерно натоварване на драйвера или системата.
- Процесор \ % Време за прекъсване y % време за DPC: > 25% сочат към интензивна активност на устройствата (мрежова карта, диск и др.).
- Система \ Контекстни превключватели/сек y Процесор \ Прекъсвания/сек: полезно за преглед на натиска при превключване на контекста и активността при прекъсване.
червен: показва състоянието на мрежовата карта и качеството на комуникацията.
- Мрежов интерфейс\Получени пакети, отхвърлени: трябва да остане близо до нула; нарастващите стойности обикновено показват недостатъчни буфери/хардуер.
- Грешки при получаване на мрежов интерфейс/пакети: : грешки > 2 устойчиви изискват преглед на връзките/кабелите/драйверите.
Дискотека: измерва насищане, латентност и капацитет.
- Физически диск \ % време на неактивност: процент от времето на празен ход. Продължителното ниско ниво показва зает диск; то добре отразява оставащия капацитет.
- Физически диск \ Средно време на диска (сек./четене) y Средно време на диска (сек./запис)Средна латентност. Типични референтни стойности (насоки): Отлично четене < 8 ms, приемливо < 12 ms, задоволително < 20 ms, лошо > 20 ms; Отлично записване < 1 ms, добро < 2 ms, задоволително < 4 ms, лошо > 4 ms.
- Физически диск \ Средна дължина на опашката на диска: средни опашки. Стойности под 2× обикновено са разумни.
- Физически диск \ Разделен IO/секРазделяне на входно/изходни операции поради фрагментация или неадекватни размери на блоковете. Колкото по-ниско, толкова по-добре.
- Логически диск \ % свободно мястоВинаги оставяйте > 15% свободно (препоръчително ≥ 25%) на логическите томове на системата.
Дискови обекти: физически срещу логически.
- Физически диск добавя достъп до всички дялове на физическо устройство (идентифицира хардуера).
- Логически диск Измерва конкретен дял или точка на монтиране. При динамичните дискове логическият том може да обхваща множество физически дискове, а неговите броячи ще отразяват общия брой.
Процес: за да се съпоставят ресурсите с поведението на конкретно приложение, да се наблюдава Процес \ % Процесорно време, Частни байтове, Виртуални байтове y Работен комплект. Броене на дръжката Ключово е, ако подозирате течове от басейн; растежът на дръжки често се женят с необичайно увеличение на Пул Непейджиран/Пейджиран.
Монитор на надеждността: Проучване на повреди и съвместимост
Мониторът за надеждност на Windows обобщава стабилността и събитията по ден или седмица, класифициране критични, предупредителни и информационниОт всяка колона можете да отворите „Преглед на технически подробности“, за да проверите модулите, кода и цифровите подписи на участващите двоични файлове.
- Практически примерЩе намерите записи като svchost.exe_MapsBroker или други приложения, които причиняват срив. Понякога докладваният модул (напр. Kernelbase.dll) принадлежи към ядрото на Windows и е подписан от Microsoft, което предполага, че основната причина не е ядрото, а по-скоро приложението или плъгин, работещ във вашето потребителско пространство.
- Какво да правите, когато старо приложение не работиСтартирайте инструмента за отстраняване на неизправности при съвместимост и опитайте да включите режим на съвместимост (напр. Windows 7) и да деактивирате мащабирането с висока DPI, ако срещнете проблеми с интерфейса или производителността. Доказано е, че тази настройка отстранява сривове в по-стар софтуер.
- Свързва резултатите от стабилността с PerfMonКомбинира историята на сривовете с регистрационни файлове на броячите, за да види дали частните байтове, броят на манипулаторите или латентността на диска са били високи преди срива. Тази корелация ви дава нишка, която да изтеглите.
- Практично затварянеС PerfMon и Reliability Monitor можете да диагностицирате от симптомите (срив, бавност) до причината (изтичане на памет, затруднено място на диска, 100% натоварване на процесора, мрежови грешки), подкрепени от броячи и прагове, които ясно ви насочват.
Ако имате нужда кратко ръководство за започванеОтворете PerfMon, добавете броячи за целевия процес (Private Bytes, % Processor Time и др.), коригирайте семплирането и продължителността, за да покриете прозореца, в който възниква проблемът, регистрирайте във файл с Collector Set и, ако е приложимо, автоматизирайте с Logman на сървъри или тестови среди, които трябва да работят с часове.
Редактор, специализиран в областта на технологиите и интернет, с повече от десет години опит в различни цифрови медии. Работил съм като редактор и създател на съдържание за компании за електронна търговия, комуникации, онлайн маркетинг и реклама. Писал съм и на уебсайтове за икономика, финанси и други сектори. Работата ми е и моя страст. Сега, чрез моите статии в Tecnobits, опитвам се да изследвам всички новини и нови възможности, които светът на технологиите ни предлага всеки ден, за да подобрим живота си.