Якби мене запитали, як максимально збільшити швидкість роботи Windows NT Workstation 4.0, я б відповіла так: вивантажите оболонку Explorer і працюйте тільки з командним рядком, що не запускаючи обридлі графічні додатки, - і Windows NT Workstation 4.0 полине галопом.
ARUBA INSTANT WI-FI: ПРОСТІ, ПОТУЖНІ, ДОСТУПНІ
Обхідні шляхи підвищення продуктивності Windows NT Workstation 4.0
Якби мене запитали, як максимально збільшити швидкість роботи Windows NT Workstation 4.0, я б відповіла так: вивантажите оболонку Explorer і працюйте тільки з командним рядком, що не запускаючи обридлі графічні додатки, - і Windows NT Workstation 4.0 полине галопом. Такий підхід, який я називаю «методика заборони надмірностей», широко поширений серед шанувальників UNIX, які вважають, і іноді справедливо, що графічні додатки уповільнюють роботу системи. Однак незалежно від того, наскільки швидко функціонує ядро операційної системи, Windows NT Workstation 4.0 все-таки працює в графічному середовищі і запускає графічні додатки. Тому в більшості випадків відключити оболонку Windows Explorer, не жертвуючи функціональністю, не можна.
Виходячи з цього, пропоную підійти до проблем оцінки і налаштування швидкості роботи додатків Windows NT Workstation 4.0 з іншого боку і спробувати отримати від операційної системи максимум продуктивності іншим способом. Так, для виявлення ресурсоємних додатків можна використовувати лічильники Performance Monitor, а також вдатися до допомоги ряду утиліт з Resource Kit, що дозволяють оцінити рівень продуктивності.
Чому саме Performance Monitor?
Performance Monitor - відмінний інструмент для оцінки продуктивності NT Workstation або NT Server. Про те, як працювати з ним з метою збору інформації про комп'ютер, можна дізнатися з документації Microsoft та спеціальної літератури. Однак я хочу звернути увагу на засоби Performance Monitor, що дозволяють оцінювати продуктивність додатків. Особливо корисними мені видаються два його об'єкта: Process і Memory. Об'єкт Process збирає інформацію про всіх працівників процесах, будь то системні процеси, призначені для користувача процеси або служби Windows NT. Об'єкт Memory збирає дані, що описують компоненти підсистеми управління пам'яттю Windows NT, включаючи файловий кеш, фізичну пам'ять, а також кілька вивантажуються і невивантажуваного пулів пам'яті, які Windows NT використовує для системних процесів.
Хоча при оцінці продуктивності Windows NT Workstation може виникнути необхідність у визначенні швидкості дискових підсистем, я не буду зупинятися детально на цій темі. Набагато важливіше розібратися, в чому корінь проблеми і розглянути порядок використання додатком процесорних ресурсів і пам'яті, а також того, як цей порядок впливає на загальну продуктивність системи.
Такі проблеми, як «пробуксовка» диска, часто є симптомами некоректної роботи самих додатків. Хоча інтенсивне зростання файлу підкачки частково можна пов'язувати з повільною дисковою підсистемою або надмірно фрагментованим диском, в першу чергу слід з'ясувати першопричину цього явища. В Таблиці 1 наведені об'єкти і лічильники, які дозволяють стежити за роботою програми, і тут же коротко описано їх призначення. Якщо на підставі показників цих лічильників створити файл робочої області Performance Monitor (.pmw), то завжди можна швидко завантажити його для здійснення контролю за роботою програми. Однак слід пам'ятати, що файли робочих областей містять ім'я робочої станції або сервера, на яких вони були створені. Тому після завантаження таких файлів на іншому комп'ютері це ім'я необхідно скоригувати.
Контроль витоку пам'яті
Перші два лічильника в Таблиці 1. Process: Working Set і Process: Pagefile Bytes, дають можливість контролювати рівень споживання пам'яті додатком. Лічильник Working Set - важливий показник ефективності роботи програми, оскільки дозволяє визначити, скільки фізичної пам'яті (т. Е. Реальних сторінок ОЗУ) вона займає. Постійно відстежуючи значення лічильника, можна виявити викликані додатком витоку пам'яті. Якщо, як показано на Екрані 1, спостерігається постійне збільшення показань лічильника, значить, програма не забезпечує коректного звільнення раніше виділеної для нього пам'яті. Однак при цьому важливо розуміти алгоритм роботи програми. Наприклад, якщо я залишу в пам'яті комп'ютера, не виконує ніяких завдань копію Microsoft Word, а її робочий простір буде безперервно збільшуватися, то можна бути впевненим, що Word ініціює витоку пам'яті. Однак, коли на моєму комп'ютері функціонує програма збору даних, що розміщує інформацію в масивах збільшуються розмірів, приріст значення Working Set її процесу буде цілком виправданим (хоча, можливо, і небажаним).
ЕКРАН 1. Спостереження за лічильником Working Set.
Значення лічильника Process: Pagefile Bytes вельми точно слід за зміною розміру робочого простору програми, збільшуючись у міру зростання обсягу споживаної додатком пам'яті. Наприклад, при використанні Working Set для контролю за роботою додатка, що породжує витоку пам'яті, видно, що значення лічильника PageFile Bytes буде перебувати в близькому до лінійної залежності від Working Set.
Виділена віртуальна пам'ять і файл підкачки
Лічильники Commited Bytes, Commit Limit і% Commited Bytes In Use - дуже зручний інструментарій для визначення інтенсивності використання пам'яті в Windows NT Workstation. Однак, перш ніж говорити про них, необхідно розібратися з принципами формування файлу підкачки.
У документації Microsoft зазначено, що мінімальний розмір цього файлу повинен бути дорівнює обсягу фізичної пам'яті плюс ще приблизно 12 Мбайт. Однак це значення може бути оптимізовано, виходячи з реальних вимог системи. Про максимальному ж розмірі турбуватися нема чого, бо у всіх досліджених мною версіях Windows NT, включаючи NT 4.0 з встановленим Service Pack 6 (SP6), операційна система ігнорувала будь-що задається значення. Вона збільшує файл підкачки настільки, наскільки це необхідно для задоволення потреб в пам'яті, аж до вичерпання місця на диску. Щоб перевірити, як Windows NT реагує на зростаючий дефіцит пам'яті, у вкладці Performance значка System на Control Panel введемо значення максимального розміру файлу підкачки. Потім візьмемо з каталогу perftoolmeastool пакета Windows NT Resource Kit файл leakyapp.exe. Це створене програмістами Microsoft додаток My Leaky App, призначене для тестування поведінки системи в процесі безперервного виділення пам'яті. Після запуску цієї програми розмір займаної нею системної пам'яті буде постійно зростати.
ЕКРАН 2. Додаток MyLeakyApp відображає використання файлу підкачки.
Запустимо програму і, для ініціації тестового процесу, натиснемо кнопку Start Leaking. Додаток буде безперервно відображати рівень використання файлу підкачки, дозволяючи, як показано на Екрані 2, зупиняти і знову запускати процедуру запиту на додаткову пам'ять. Якщо програма буде працювати досить довго, розмір файлу підкачки почне збільшуватися понад граничного рівня, зазначеного у вкладці Performance. Після перевищення файлом підкачки встановленого мінімального значення для його повернення до вихідної величини необхідно перезавантажити комп'ютер.
Коли Windows NT почне, з метою задоволення зростаючих запитів на пам'ять, збільшувати файл підкачки, продуктивність різко впаде, особливо якщо файл розміщений на повільному або сильно фрагментированном диску. За допомогою лічильників Committed Bytes і Commit Limit можна фіксувати зростання споживання пам'яті, що провокує різке зростання файлу підкачки. Спрощено кажучи, Windows NT записує в Commit Limit значення, яка дорівнює загальній кількості обсягу встановленої на комп'ютері фізичної пам'яті і розміру файлу підкачки, заданого у вкладці Performance. Значення лічильника Committed Bytes дорівнює загального обсягу виділеної працює процесу пам'яті. У міру зростання Committed Bytes відбувається наближення до граничного значення Commit Limit, досягти якого можна в разі виконання наступних один за іншим запитів на пам'ять з боку одного або декількох додатків. Стежачи за лічильником% Committed Bytes In Use, можна побачити, що при досягненні ним величини 100% система почне збільшувати розміри файлу підкачки, намагаючись задовольнити зростаючі запити на пам'ять.
Щоб система могла впоратися з цими запитами, збільшення файлу підкачки буде проводитися до тих пір, поки дозволяє розмір дискового простору. При цьому можлива поява показаного на Екрані 3 повідомлення Out of Virtual Memory. Якщо це станеться, слід запустити Performance Monitor. Для всіх працюючих додатків потрібно вибрати об'єкт Process, лічильники Working Set і Pagefile Bytes. Досить скоро з'ясується, яка програма відповідає за таке різке зростання споживання пам'яті. Слід пам'ятати, що за допомогою лічильника% Committed Bytes In Use можна визначити оптимальний розмір файлу підкачки. Якщо постійно стежити за показаннями цього лічильника, то завжди можна підігнати мінімальний розмір файлу під вимоги наявного на комп'ютері програмного комплексу.
ЕКРАН 3. Повідомлення Out Of Virtual Memory
Використання процесора
Лічильник Process:% Processor Time оцінює ступінь завантаження процесора додатком. Це важливо знати при виявленні вузьких місць в роботі операційної системи. Разом з тим, при використанні даного лічильника треба бути дуже уважним. Наприклад, деякі програми можуть перебувати в циклі очікування напередодні настання певних системних подій. Такі цикли здатні викликати стовідсоткове завантаження процесора, що, однак, не заважає робочої станції запускати інші процеси.
У більшості випадків ці цикли мають низький пріоритет і поступаються процесорні ресурси іншим додаткам, які після старту вимагають виконання свого коду. Коли ранні версії Web-браузера Netscape відпрацьовували цикли, що забезпечують стовідсоткове завантаження процесора, ніхто не міг точно сказати, що робить програма: інтенсивно обробляє дані або очікує настання події. Звичайно, при активному використанні диска, дефіциті вільної пам'яті і загальному зниженні продуктивності, супроводжуваному стовідсотковою завантаженням процесора з боку додатка, можна сказати, що в такому додатку, швидше за все, криється помилка.
Включена в Windows NT Resource Kit утиліта CPU Stress дозволяє штучно завантажити процесор і з'ясувати, як система повинна себе вести в подібних ситуаціях. За допомогою цього засобу можна налаштовувати пріоритети і рівень активності чотирьох потоків, контролювати ступінь завантаженості процесора додатками і визначати значимість кожного потоку для операційної системи (наприклад, оцінювати, які потоки з низьким пріоритетом поступаються управління більш пріоритетним потокам).
Утиліти Windows NT Resource Kit для управління продуктивністю
Крім My Leaky App та CPU Stress, Resource Kit містить ряд корисних утиліт управління продуктивністю комп'ютерів, що працюють під Windows NT. Велика частина їх розміщена в папці Perftool, а список деяких з них наведено в урізанні «Програми управління продуктивністю». Секрет успіху при управлінні продуктивністю Windows NT Workstation - відмінне знання своїх додатків і порядку використання ними ресурсів операційної системи.
Після освоєння роботи з лічильниками Performance Monitor я рекомендую звернути увагу на утиліту Response Probe з Resource Kit, яка дає можливість створювати швидкісні додатки, заздалегідь оцінюючи їх характеристики. З її допомогою можна генерувати штучні навантаження, що дозволяють моделювати рівень завантаженості системи. Разом з тим, оптимізація продуктивності при роботі з одним додатком - не найважча задача. Найцікавіше починається тоді, коли в роботу включаються одночасно 20 додатків і цілий набір служб і утиліт.
Таблиця 1. Об'єкти і лічильники.