Відключаємо непотрібне і прискорюємо систему

У світі стільки ще загадок. Як насправді працює наш мозок? Хто і як побудував піраміди? Звідки взявся качконіс? Чому ж мій комп`ютер так повільно працює? Робота мозку, піраміди і качконіс поки почекають, а поки давайте-ка займемося повільним комп`ютером.

Комп`ютери з неефективними програмним забезпеченням - це чистий збиток, обумовлений зниженням продуктивності користувачів, підвищенням споживання електроенергії, скороченням терміну служби акумулятора, тепловим зносом, відмовами диска і багатьом іншим. Проігнорувати проблематичне ПЗ не вдасться - воно часто веде до набагато більших проблем в сенсі грошових і часових витрат.

Працюючи над Windows XP, фахівці Microsoft витратили багато часу на те, щоб інтерфейсом області повідомлень панелі завдань Windows можна було керувати. На жаль, багато розробників програм неправильно використовували цю можливість: дуже часто після входу в систему нового комп`ютера доводилося бачити в області сповіщень більше 10 значків.

У всього є своя ціна, і у кожного значка, що відображається в області сповіщень, є ціна, причому мова йде не тільки про місце на робочому столі. За кожним стоїть працює додаток. А в кожній новій версії Windows додавалося ще більше служб, ніж у попередній. Коротше кажучи, на комп`ютері працює багато програм, будь то самостійно встановлена ОС, придбана у незалежного постачальника разом з комп`ютером або встановлена за допомогою стандартного корпоративного образу системи.
Швидше, ще швидше

«Чому не завантажується Windows?» - перший за популярністю питання, що задається користувачами, а другий: «Чому мій комп`ютер так повільно працює і що зробити, щоб виправити ситуацію?»

Якщо є два комп`ютери, на яких застосований один образ (особливо, коли на одній з машин спостерігаються проблеми), завжди цікаво почати з порівняння цих двох систем, щоб з`ясувати відмінності між ними. Використання обговорюваних нижче інструментальних засобів часто сильно спрощує виявлення причини неполадок.

Говорячи про ресурси комп`ютера, варто зауважити, що є чотири їх виду, які можуть впливати на виконання роботи:

  1. Оперативна пам`ять.
  2. Процесор.
  3. Дисковий ввод / вивід.
  4. Мережевий введення / виведення.

Нам буде потрібно набір програм Windows Sysinternals. Якщо він є, приступимо до роботи. В іншому випадку завантажте його зі сторінки завантажень Windows Sysinternals.

Перш ніж почати, давайте дізнаємося, які програми працюють на вашому комп`ютері. Засобами Sysinternals це можна дізнатися двома способами. І обидва залежать від того, в якому вигляді потрібна інформація і де ви перебуваєте щодо діагностується комп`ютера.

Процес за процесом

Перший спосіб - використання утиліти Process Explorer (Procexp.exe) .Це найпотужніший варіант з двох, але її можна запускати тільки локально (на відміну від іншого, інструменту, про який ми поговоримо трохи пізніше). До Process Explorer найкраще ставитися, як до потужної заміні Диспетчера завдань Windows. Вона дозволяє побачити відразу всі процеси, що виконуються в системі, з дуже докладною інформацією про них, причому неважливо, чиї процеси, - ваші чи інших увійшли в систему користувачів (в разі використання можливостей швидкого перемикання користувачів або віддалених робочих столів служб терміналів).

Перш ніж ми почнемо, переконайтеся, що Process Explorer працює в режимі відображення всіх процесів, для чого утиліту потрібно перевантажити, вибравши File / Show Details for all Processes (якщо включений контроль облікових записів, відкриється відповідне вікно з підтвердженням).

Виконавши сортування по стовпцю Process, можна визначити, як повинен відображатися список процесів - по спадаючій чи зростанню або на основі відносин «батько-нащадок» серед додатків. Майте на увазі, що процес може запуститися, завантажити інший додаток, після чого завершити роботу, вводячи в оману щодо того, який же процес в дійсності запустив того чи іншого нащадка.

Найпростіший спосіб побачити, який процес споживає найбільше процесорного часу, - навести мишку на графік завантаження процесора - відобразиться назва самого «ненажерливого» процесу. Знайти цей процес можна за допомогою комбінації клавіш Ctrl + F.

Мене часто запитують: «Що це за процес такий - ldquo-Бездіяльність сістемиrdquo-, і чому він споживає практично всі процесорний час на моєму комп`ютері? »Так ось: він не споживає процесор. Цей процес краще вважати псевдонімом невикористаного процесорного часу. Це навіть не «справжній» процес. Якщо вам потрібні подробиці, почитайте книгу "Windows Internals" (Microsoft Press, 2009), в якій дізнаєтеся багато нового про засади внутрішньої роботи Windows.




Є два варіанти вирішення проблеми:

  • Вибір View / Update Speed дозволяє задати, як часто Procexp повинен оновлювати «картинку» відповідно до тим, що відбувається в ОС.
  • Якщо треба поспостерігати за активно споживають процесорний час процесом і визначити пікове навантаження, натисніть пробіл. Procexp припинить повністю оновлювати дані, дозволяючи розглянути ближче «підозрілим» процес.

Таким же манером легко виявити процес, активно споживає пам`ять. Якщо не вдається розпізнати процес по імені (що цілком можливо, коли мова йде про шкідливі програми), досить вибрати процес і клацнути Process / Window - якщо у процесу є призначений для користувача інтерфейс, можна відкрити вікно програми. У служб інтерфейсу немає, втім у деяких додатків теж.

«Служити і захищати»

Такий процес діагностики добре підходить для додатків, що виконуються в контексті користувача, але що робити зі службами або драйверами? Служби іноді важко виявити, тому що все частіше вони виконуються в «стандартному» процесі для економії ресурсів та підвищення безпеки.

У Windows ця проблема вирішується засобами служби по імені svchost.exe (таких процесів досить багато в будь-який ОС Windows, починаючи з Windows XP). Багато з цих процесів - вбудовані служби Windows, але цю інфраструктуру використовують і сторонні розробники. По суті, все частіше зловмисне ПО також використовує в якості хоста процес svchost.

Все так же можна виявляти екземпляри svchost, сильно навантажують процесор або пам`ять. Двічі клацніть екземпляр svchost і в вікні, на вкладці Services побачите DLL-бібліотеки, що виконуються в цьому загальному процесі, а також ті, що споживають найбільше ресурсів.

А як щодо драйверів? Не потрібно скидати драйвери з рахунків, досліджуючи причину зниження продуктивності системи. Вони працюють на найнижчому рівні Windows і часто стають джерелом проблем.

Драйвери часто використовуються для спостереження за іншими процесами, наприклад це робить антивірусне ПЗ, або за повідомленнями файлів або каталогів, що виконує той же антивірусне ПЗ, а також механізм реплікації і синхронізації. Виключно просто написати драйвер, який створює проблеми сам по собі або в присутності іншого драйвера. Друга ситуація гірша, так як її складніше діагностувати.




Так де ж «живуть» драйвери? Як і служби, що розміщуються в процесах svchost.exe, драйвери також працюють в загальному процесі. Якщо двічі клацнути процес System і відкрити вкладку Threads, ви побачите стек завантажених потоків. Багато з них є драйверами (це файли з розширенням .sys).

Як список процесів, список потоків можна відсортувати за споживанням процесорного часу. Так можна знайти потоки конкретного драйвера, сильно навантажує процесор. Після цього можна знайти драйвер в системі, пошукати в Інтернеті або звернутися до відповідного постачальника, щоб дізнатися, чи в курсі він неполадок свого драйвера, або завантажити новішу версію драйвера.

Коли при віддаленому підключенні до комп`ютера для діагностики можна підключитися через мережу, але не засобами віддаленого столу служби терміналів, тоді на допомогу приходить набір PsTools. А саме PsList. Це утиліта командного рядка (вона входить в набір Sysinternals), яка перераховує всі процеси на локальній або віддаленій машині.

Як і всі утиліти групи PsTools, PsList можна виконувати віддалено через службу «Загальний доступ до файлів і принтерів» (File and Printer Sharing) за умови, що вона включена, а у вас є права члена групи локальних адміністраторів. Як і в Procexp, ви побачите список всіх процесів, що виконуються в даний момент. Надана утилітами PsTools інформація більш обмежена, але у випадках, коли потрібна діагностика проблемного прикладного процесу, інформації зазвичай достатньо.

На локальній машині досить просто запустити PsList в командному рядку. Параметр -t дозволяє відобразити процеси у вигляді дерева, як в Procexp. Додавши параметр -s (інтервал в секундах) можна задати період оновлення інформації. У Procexp все по-іншому - там треба сповільнювати оновлення. У всіх утиліт сімейства PsTools однаковий синтаксис використання на віддаленій системі, ось приклад:

PsTool.exe systemname -u username -p password

Відео: прискорює КОМП`ЮТЕР! ПІДВИЩУЄМО продуктивність WINDOWS

Procexp можна використовувати для завершення процесів на локальній машині (але потрібно бути обережним, щоб випадково не пошкодити систему або не викликавши відмову додатки), а PsList - немає. Для примусового завершення процесу можна задіяти PsKill, який завершує процес за його ідентифікатором (PID) або імені (завершуються всі процеси із заданим ім`ям), виконуючи це завдання навіть віддалено.

Діагностика неполадок дискового введення / виводу (особливо програм, що вимагають від системи постійного пошуку даних на жорсткому диску) складна, а повноцінний аналіз іноді і просто неможливий. Однак утиліта Process Monitor (Procmon.exe) часто дозволяє швидко знайти служби або програми занадто активно ведуть читання або запис на жорсткий диск. У багатьох додатків є «законна» причина активно виконувати дисковий введення / виведення, наприклад утиліти локального пошуку, але реальність така, що багато операцій дискового введення / виводу витрачатися на виконання повторюваних завдань, які можна було б вирішити найбільш раціональним способом.

Виявивши процес, підозріло багато читає або пише на диск, можна завершити Procmon, повернутися у вікно Procexp і за допомогою комбінації Ctrl + F знайти цей процес. Переконайтеся, що виконується пошук по імені, щоб переконатися, що він має такий же PID. Деякі процеси, такі як explorer.exe і svchost.exe, матимуть кілька примірників. Виявивши процес, активно виконує дисковий ввод / вивід, можете звернутися до постачальника або знайти оновлену версію програми.

Для діагностики зв`язку через мережу служить TCPView, ще одна утиліта з сімейства Sysinternals, що дозволяє визначати процеси, що створюють мережеві підключення (вхідні або вихідні), а також отримувати інформацію про порти. Для цих цілей можна також використовувати Procmon, так як крім іншого ця утиліта інформує і про мережеву активність. Найбільш важливим є те, що ця утиліта показує високу мережеву активність в реальному часі. Як і у випадку з дисковим введенням / висновком, перехід у вікно Procexp дозволяє виконати більш глибокий аналіз, продовжуючи спостерігати за мережевою активністю (вкладка TCP / IP у вікні властивостей процесу).

Немає зв`язку з мережі

Описані методи припускають наявність зв`язку по мережі з диагностируемой системою, але що робити, якщо зв`язку немає? Що якщо треба діагностувати систему сестри, яка живе за тисячі кілометрів? У реальності це простіше, ніж можна було б очікувати. Спочатку попросіть її завантажити набір Sysinternals. Ці утиліти дуже прості в роботі, особливо для тих завдань, для яких ми будемо їх використовувати.

Відео: Збільшуємо продуктивність Windows - Служби

Після завантаження попросіть сестру запустити AutoRuns. Ви отримаєте миттєвий знімок всіх виконуваних в системі програм в формі файлу з розширенням .arn. Цей тип файлів Марк Руссинович спеціально розробив для такого завдання - віддаленого аналізу автоматично завантажуються процесів.

Після того, як сестра увійде в систему як локальний адміністратор, попросіть її створити ARN-файл, вибравши File / Save. Навіщо нам потрібен ARN-файл? Це найкращий спосіб визначити, як запускаються процеси.

Відео: Windows 10 - Відключення служб [Services]

При локальному або віддаленому підключенні важливо визначити, що запускає ту чи іншу програму, і які служби або інші автоматично запускаються програми працюють на комп`ютері. При запуску системи автоматично завантажуються досить багато категорій програм. Найцікавіші для нас вхід в систему, служби і драйвери.

По завершенні завантаження всіх автозагружаемих програм виберіть в меню Options / Hide Microsoft and Windows Entries. Натисніть F5 - у вікні залишаться тільки не відносяться до Microsoft записи. Це часто відмінно підходить для початку діагностики «підозрілих» служб або додатків з віддаленої системи.

Далі попросіть сестру запустити Procexp під обліковим записом локального адміністратора, а потім вибрати в меню File / Save As і зберегти докладніше подання до вигляді дерева як текстовий файл.

Тепер попросіть її запустити Procmon на час, протягом якого неполадка себе повинна точно виявити. У реальності для діагностики потрібно не більше п`яти хвилин.

Нарешті, попросіть її надіслати ARN-файл і файли дерева процесів і журналу Procmon. Останній файл швидше за все буде занадто великим для пересилання по електронній пошті. Скористайтеся загальнодоступним інструментом обміну файлами, наприклад Dropbox.

Ці файли - практично все, що потрібно для діагностики деградації продуктивності. Відкривши журнали Procmon (які містять найбільше інформації) і легко відфільтрувавши їх, а також вивчивши дерево процесів Procexp, можна часто знайти причину майже так само просто і легко, як при локальному аналізі.

Діагностика проблематичних додатків в Windows - цілком підйомна задача. Маючи набір утиліт Sysinternals, засоби налагодження Debugging Tools for Windows, а також незначний реальний навик, ви зможе швидко діагностувати проблеми, що ховаються глибоко в надрах Windows. Так ви зможете економити час, зусилля і можливо навіть своє психічне здоров`я.


Поділися в соц. мережах:

По темі: