Чому мої веб-браузери змушують зависати весь мій комп'ютер?


3

Я спостерігав, що це трапляється багато разів: одна програма не реагує, і всі інші процеси працюють правильно, і тоді вся система зависає.

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

Але чи не слід це робити лише для великих програм, які б зайняли всю пам'ять (ОЗУ)?

Чому тоді це відбувається, коли я лише запускаю Firefox або Internet Explorer, які здаються меншими програмами?

Чи є спосіб запобігти зависання програм та комп’ютера?


@ music2myear завдяки редагуванню я дійсно не міг зрозуміти, як задати це питання. Дуже дякую.
avirk

Але я думаю, що моя назва не була помилковою, чи не так?
avirk

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

Більш чіткий спосіб зазначення вашої назви: "Що викликає зависання комп'ютера?" Однак це ДУЖЕ широке запитання, і не багато людей будуть на це дивитися. Подробиці вашого запитання допомагають звузити його до певних обставин, але люди повинні відкрити питання, щоб побачити ці деталі. Пояснення вашої назви допомагає більшій кількості людей переглядати все питання.
music2myear

Добре, тоді я буду вдячний повернутися до змін, внесених вами. Дякую.
avirk

Відповіді:


3

Вішалки, як правило, не спричинені лише використанням ресурсів.

Тут ми не говоримо про короткі заморозки або повільність, ми говоримо про фактичне зависання, яке існує більше декількох секунд . Використання пам'яті зазвичай не є основною причиною цього, оскільки Windows 7 призведе до збою програм, які використовують занадто багато пам'яті. Зміна дисків зазвичай не є основною причиною цього, оскільки такі запити асинхронні, а певні необхідні частини зберігаються в пам'яті.

Отже, вам би фактично потрібен старий комп'ютер, який дозволив би повільності виглядати завислою . Або бути агресивним ресурсним свином, але тоді ви могли це очікувати заздалегідь; вішалки, які трапляються при звичайному використанні, як правило, не є переліченими вище ...

Вішалки зазвичай завдають водіям.

Уявіть, що у вас є 8 ГБ, процесор Octa Core і SSD RAID. Ми зараз схильні до звисання? Ні.

Водії (і особливо мережеві), як правило, є головним винуватцем, який призводить до зависання, оскільки через помилку в них вони чекають певної дії, яку слід виконати негайно до таймауту. Навіть для коротких зависань, для яких ви не бачите жодного використання ресурсів, DPC Latency Checker та більш детальна LatencyMon роблять відмінну роботу для з'ясування того, які дзвінки з відкладеними процедурами вашими драйверами повільні.

Проблема тут полягає в тому, що люди не знають, як вирішити цю проблему, я б сказав, що ви можете проаналізувати будь-яку проблему продуктивності в Windows за допомогою цієї публікації з поясненням XPerf . Але зазвичай люди дотримуються Монітора ресурсів у кращому випадку, який не дає ніде стільки деталей, як такі інструменти, як Process Explorer, Process Monitor та XPerf ...

Дозвольте навести приклад, як вирішується типова повішання.

  • Мій брат поскаржився, що закриття однієї з його вкладок в Інтернеті спричинило затримку 10 секунд.

  • Він не зміг рухати мишкою після закриття вкладки.

  • Я використовував XPerf з Windows SDK для аналізу продуктивності його системи на дуже низькому рівні.

    • Почав слід і переконався, що він простежив якомога більше інформації.

    • Зайшов до браузера, попросив його переглядати деякий час і зателефонувати мені, коли проблема виникне.

    • Одразу зупинив слід.

  • Закриття вкладки Facebook викликало таку поведінку. Закриття вкладки Google не означає.

  • На драйвері мережі був помітний шип.

    • При більш детальному аналізі це було пов’язано з тим, що занадто багато з'єднань одночасно було закрито.

      Це має сенс, Facebook робить багато асинхронних дзвінків AJAX.

    • Коли з'єднання закрите, драйвер повинен відправити пакет FIN або RST до пункту призначення. Можливо, чекання підтвердження для завершення або скидання з'єднання було погано реалізовано ...

  • Оновлено мережевий драйвер, проблема вирішена.


2

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

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

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

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


Зараз подібне може трапитися, коли у вас закінчиться оперативна пам’ять, але з іншої причини. Коли у вас не вистачить фізичної пам'яті, ОС спробує записати деякі сторінки ОЗУ на жорсткий диск. Усі жорсткі диски (SSD або механічні) набагато повільніше, ніж оперативна пам’ять, тому ви завжди хочете уникати передавання матеріалів на жорсткий диск.

Якщо операційна система продовжує перемикати планувальник процесів між двома процесами, кожен з яких послідовно підключається до жорсткого диска, комп'ютер починає обмінюватися. Це відбувається тому, що ОС виконує одну програму за невеликий проміжок часу, а потім іншу (наскільки тривалий або як часто залежить від того, який метод планування використовує ОС). Якщо процеси занадто великі, щоб вписатися в оперативну пам’ять, вони можуть постійно очищатись / читати назад зі сторінки / swapfile, що спричиняє значне зниження продуктивності.


2

Firefox та Internet Explorer та інші веб-браузери, ймовірно, є однією з "найбільших" програм на вашому комп'ютері, що стосується використання ресурсів.

У той час як інші програми можуть зайняти більше місця на вашому жорсткому диску, сучасні веб-браузери, як правило, запускаються з більш ніж 100 Мб системної пам’яті (оперативної пам’яті) і швидко піднімаються звідти. Сеанс Firefox з 20 відкритими вкладками протягом наступних днів часто використовує більше 1 гігабайт системної пам'яті.

Для порівняння, Microsoft Excel, який займає сотні мегабайт місця на вашому жорсткому диску, використовує лише близько 15 мегабайт пам'яті, незалежно від того, яка велика електронна таблиця у вас є.

Якщо ви не використовуєте складну аудіо / відео програму або обширну базу даних, веб-браузери, ймовірно, будуть найбільш ресурсомісткими програмами, які ви запускаєте.

Що стосується збоїв: у вашій системі зазвичай висить, тому що вона зіткнулася з помилкою, а не тому, що у неї закінчилися ресурси.

Наприклад, якщо у вас поганий чіп пам'яті та Firefox або Internet Explorer під час відкриття, спробуйте вирішити цю погану пам'ять, весь комп'ютер, ймовірно, заблокується та вийде з ладу.

Однак Windows є досить розумним, і він повинен мати можливість повідомити вам, чи викликає збої певний апарат.

Я рекомендую протестувати пам'ять комп'ютера за допомогою такого інструменту, як Memtest x86 або подібний, якщо у вас трапляються часті непояснені збої.

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

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


1
+1 для того, щоб вказати, що браузери НЕ є невеликими програмами, принаймні за домашніми користувачами. Я хотів би зазначити, що Excel може мати порівнянний слід пам’яті (до мого досвіду приблизно до 0,5 ГБ) під час роботи з більшими файлами.

Я візьму ваше слово за того Джона, але в моєму багаторічному досвіді технолога з допоміжних ролей я бачив лише excel.exe, навіть з величезними файлами, що займає 15 Мб пам'яті. Я не впевнений, де зберігається решта файлу, якщо програма лише кешує ту велику частину даної електронної таблиці чи якусь іншу чорну магію M $.
music2myear

Я впевнений, що розмір файлу має значення. На даний момент Excel використовує 15 Мб пам’яті PWS на своєму домашньому комп’ютері, з відкритим файлом в 250 КБ. Однак я також регулярно працюю з файлами, що мають більший розмір, до 50 Мб, і слід пам'яті може бути значно більшим. В цілому я вражений тим, як мало його використовують, особливо порівняно з браузерами.

Хм. Цікаво, чи має значення 64-розрядна / 32-бітна версія. Я регулярно працюю з файлом .xls 400-500 кб, і Excel використовує лише 6 Мб у моїй 64-розрядної системі win7. Я розширив файл, створивши копії існуючих робочих аркушів і перетворив на .xlsx, розмір збільшився до 600 кбіт, а потім Excel використовував 15 Мб, і залишився там, коли я додав кольори та фільтри тощо. Було б цікаво провести дослідження щодо того, які типи даних і типи викликають використання типу пам'яті Excel.
music2myear

0

Firefox працює спалахом в окремому процесі.

Зазвичай я вбиваю процес спалаху через диспетчер завдань, а firefox розблоковується.

У плагінах я встановив спалах на "Попросити активувати". Це зупиняє запуск відео на YouTube, коли я відновлюю попередній сеанс Firefox.

Альтернативою "попросити активувати" є додатки Flash блоку для Firefox.

У будь-якому разі мені доведеться перезавантажувати вікна.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.