Вимірювання витрати пам’яті в Windows 7 - Форум з інформаційної безпеки

У Windows 2000 та Windows XP існував Монітор продуктивності (Performance Monitor, Perfmon.exe) - улюблений інструмент справжніх професіоналів. На той час це був єдиний спосіб отримати інформацію про продуктивність системи в режимі реального часу. У Windows 7 ця утиліта теж є, але потрібна лише для розширеної діагностики у винятково складних випадках. На малюнку показано налаштування лічильників для відстеження виділеної та доступної пам'яті.

Монітор ресурсів (Resource Monitor) вперше з'явився в Windows Vista і був значно вдосконалений у Windows 7. Він містить цілу низку лічильників, які раніше були доступні тільки в Моніторі продуктивності. На малюнку показана вкладка «Пам'ять» (Memory) з докладними відомостями про сумарну витрату пам'яті та витрату RAM по кожному з процесів. Запустити Монітор ресурсів можна однойменною кнопкою на вкладці «Швидкодія» Менеджер завдань.

На наступному малюнку показано всі три інструменти відразу, запущені на комп'ютері, який відпрацював вже більше 2 днів та 9 хвилин, як зазначено у графі «Час роботи» (Up Time) Диспетчера завдань. Цей комп'ютер має 1 Гбайт фізичної оперативної пам'яті, з яких використовується лише 361 Мбайт. Зелена крива "Виділено байт" (Committed Bytes) на графіку Монітора продуктивності вказує на те, що під різноманітні процеси зарезервовано понад 600 Мбайт RAM. Тут маються на увазі ресурси пам'яті, які за необхідності можуть бути зайняті різними процесами. Насправді виділена під них фізична пам'ять в даний момент часу може взагалі не використовуватися.

Як розподіляються ресурси пам'яті цієї системи при великому навантаженні? НаступногоНа малюнку показано, яка картина складається після відкриття 1000-сторінкового документа Adobe PDF і шести веб-сторінок, у тому числі з флеш-роликом у високій роздільній здатності. Зверніть увагу: витрата фізичної пам'яті все ще не перевищує 600 Мбайт, хоча крива виділеної пам'яті злетіла майже до 900 Мбайт. Синій індикатор «Очікування» (Standby) Монітор ресурсів показує сторінки пам'яті, завантажені у фізичну RAM на той випадок, якщо вони знадобляться. Ця пам'ять може бути очищена в лічені частки секунди, якщо потрібно інший процес.

Збільшимо навантаження на систему, завантаживши установник Microsoft Office 2010 Professional Plus (бета-версія). У міру вилучення інсталяційних файлів зелений індикатор «Використовується» (In Use) подовжується, а синій «Очікування» коротшає. При цьому кількість виділеної пам'яті в Моніторі продуктивності залишається незмінною. Система перевіряє, чи готові інсталяційні файли до запуску з RAM, що швидко діє, замість повільного читання з диска. Як тільки виймання інсталяційних файлів завершується, індикатор «Використовується» різко скорочується. Сторінки пам'яті не очищаються, а переміщуються до списку "Очікування". При цьому червона крива доступної пам'яті (Available Bytes) на графіку Монітора продуктивності різко злітає вгору, а сумарна довжина індикаторів «Очікування» та «Вільна» (Free) у Моніторі ресурсів значно збільшується. Тим часом, зелена крива виділеної RAM залишається практично незмінною.

Тепер починається інсталяція Office. Витрата пам'яті все ще в нормі, судячи з довжини індикатора «Використовується» у Моніторі ресурсів та за висотою індикатора «Пам'ять» у Диспетчері завдань.

Встановлення завершено. Зверніть увагу на цікавий факт: вперше за цей час обсяг вільної пам'яті (блакитний індикатор у Моніторіресурсів) перевищив 5 Мбайт. Чи надовго? Тим часом зелена крива виділеної пам'яті в Моніторі продуктивності пішла на спад, але, як і раніше, тримається на досить високому рівні - 870 Мбайт. Незважаючи на це, система працює абсолютно нормально.

Завантажимо систему ще трохи, відкривши 30-сторінковий документ Word із великим малюнком. Одночасно з цим підключимося до сервера Exchange через Outlook і запустимо першу синхронізацію поштової скриньки з локальною системою. Крива виділеної пам'яті перевищує позначку 1 мільярд байт, а тим часом обсяг доступної фізичної RAM становить 362 Мбайт. Як уже згадувалося, сторінки виділеної пам'яті далеко не завжди містять реальні дані, і це якраз такий випадок. Тепер давайте подивимося, що буде, якщо завершити всі процеси користувача і дозволити системі перейти в стан бездіяльності. Запущено лише системні процеси. На наступному малюнку видно, що зелена крива виділеної пам'яті в Моніторі продуктивності стрімко пішла на спад одночасно зі стрімким зльотом червоної кривої, що позначає обсяг доступної пам'яті, програми звільнили зарезервовані сторінки RAM. Індикатор Монітора ресурсів показує, що більше 100 Мбайт оперативної пам'яті. У цих 100 Мбайт немає ніяких даних чи програмного коду. Чи надовго?

вимірювання

Диспетчер пам'яті Windows 7 працює постійно, навіть якщо не запущено жодних сторонніх програм. Через 45 хвилин після завершення роботи всіх програм обсяг фізичної пам'яті, що використовується, становить менше 300 Мбайт, як видно з наступного малюнка. Однак індикатор «Очікування» поступово заповнюється – система завантажує до списку очікування сторінки програмного коду та даних, які можуть знадобитися надалі. Зелена кривавиділеної пам'яті стабільно тримається лише на рівні близько 650 Мбайт, незалежно від цього, скільки фізичної RAM справді використано.

Нарешті, через годину після завершення роботи всіх програм обсяг пам'яті, що використовується, зменшується до 278 Мбайт і ще 41 Мбайт даних повинно бути записано на диск, перш ніж стане доступно для використання, як вказує індикатор «Змінено» (Modified). Вільна пам'ять закінчилася, а індикатор «Очікування» різко подовжився за рахунок заповнення сторінками програмного коду та даних, які можуть знадобитися пізніше. Проте майже 70% оперативної пам'яті доступне для негайного використання, хоча зелена крива виділеної пам'яті вказує на зворотне.