rss
05/07/2024
EN   UA

Час i Події

#2022-08

Ваша точка зору

Чого, на Вашу думку, найбільше бракує Україні для перемоги?
Грошей
Зброї
Ядерної зброї
Міжнародної підтримки
Совісті найвищого керівництва
Ваш варіант відповіді
Комп’ютерна сторінка \ Як боротися з комп’ютерним склерозом….

Господарям нових комп'ютерів із величезною купою пам'яті нова операційна система від Microsoft вже з'їла чимало нервів. Ще б пак - «фізично» машина має цілу купу пам'яті. Теоретично, система мала би працювати бездоганно. А ви вмикаєте з десяток програм - і комп'ютер вже починає «лаятися», підвисати та благати вимкнути хоч кілька зайвих програм - мовляв, пам'яті не вистачає. Що то за халепа і як з нею боротися?

 

Чому Vista використовує всю мою пам'ять?

Недосвідчені користувачі Windows Vista постійно ставлять питання відносного того, чому їх нова ОС займає всю оперативну пам'ять, при цьому чим більше у них оперативної пам'яті, тим більше апетити Windows Vista. Давайте спробуємо розібратися і розставити всі крапки над i.

Насамперед, варто раз і назавжди зрозуміти і прийняти, що у Windows Vista абсолютно інший підхід до управління пам'яттю. "Інший" означає, що не такий, як у Windows XP. B принципі їх і порівнювати-то некоректно, але ми все-таки спробуємо.

Подивитеся на стрічку "вільну кількість фізичної пам'яті" в диспетчерові завдань Windows Vista.

Title
На момент зняття даного скриншоту на комп'ютері було запущено декілька вікон IE 7, плюс один віддалений робочий стіл. При цьому вільні всього 6 Мб вільної пам'яті.

Тепер порівняємо цей скриншот з скриншотом з XP при приблизно такому ж завантаженню.

Title
Напроти пункту "Доступна фізична пам'ять" написано, що вільно близько 1.5 Гб - так і повинно бути.

Так що ж відбувається? Чому Vista використовує так багато пам'яті, якщо на комп'ютері практично ніяких дій не виконується? Щоб відповісти на це питання, потрібно зрозуміти, на що витрачається оперативна пам'ять.

Припустимо, що ви захотіли створити новий текстовий файл.

1. Натискаєте двічі на іконці Блокнота.

2. Виконавчий файл Блокнота завантажується з вінчестера в пам'ять.

3. Блокнот виконується.

4. Блокнот розподіляє вільну пам'ять для зберігання вашого документа.

 

Отже, ясно, що блокнот потребує невеликої кількості пам'яті, достатньої, щоб запуститься і відображати свій вміст. Але це може бути декілька мегабайт, як максимум. Навіть якщо так. Що з тими, що залишилися 2046 Мб пам'яті?

Вам треба перестати думати про системну пам'ять як про ресурс, а почати думати, як про кеш. Як і L1 і L2-кеш вашого процесора, ОЗУ - всього лише ще один високошвидкісний кеш між вашим комп'ютером і диском.

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

Діомідіс Спінелліс (Diomidis Spinellis) опублікував чудовий розбір рейтингу продуктивності кеша в типовому за станом на січень 2006 року комп'ютері.

Title

У результаті, ось наскільки швидше ваша пам'ять, чим жорсткий диск:

 

Системна пам'ять - в 37 разів швидше.

L2 кеш процесора - в 82 рази швидше.

L1 кеш процесора - в 283 рази швидше.

 

Ці дані пояснюють, чому в Vista залишилося всього 6 мегабайт вільної пам'яті. Vista прагне гранично заповнити кожен байт пам'яті даними, які, на її думку, можуть знадобиться в наступний момент. Vista запускає з низьким пріоритетом фонові процеси і розміщує їх в невикористану системну пам'ять. У Microsoft для цих процесів є навіть химерна маркетингова назва - Superfetch: "У минулих версіях Windows реакція системи могла бути нерівномірною. Ви могли стикатися з повільною роботою системи після завантаження, після декількох швидких перемикань користувачів або просто після обіду. Також як велика кількість вуглеводів можуть вас уповільнити після їжі, так і ваш комп'ютер може почати гальмувати з різних причин. Коли ви активно не використовуєте комп'ютер, то фонові завдання, включаючи автоматичні резервні копії і антивірусне сканування, користуються цим, щоб виконаються, в той момент, коли вони менше всього вас можуть потривожити. Ці фонові завдання можуть займати місце в системній пам'яті, яке використовували ваші застосування. Після того, як ви знову почнете використовувати комп'ютер, буде потрібно якийсь час, щоб повторно завантажити ваші дані в пам'ять, що понизить продуктивність.

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

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

Я є прихильником релігії використання системної пам'яті як кеш, але Superfetch все ще може мати декілька побічних ефектів. Перше, що я відмітив, це те, що було щось не так, коли я запустив Battlefield 2 в Vista і підключився до мережевої гри. Battlefield 2 - достатньо серйозний споживач ресурсів. Гра регулярно використовує 1 Гб пам'яті на великих картах для 64-х гравців. Під час перших декількох хвилин я відмітив, що система працювала злегка сповільнено і постійно були звернення до диска. Це було дуже незвичайно, і абсолютно не схоже на поведінку в XP. Як тільки ви завантажуєте карту і входите в гру - вся гра знаходиться в пам'яті. Що в даний момент могло завантажуватися з диска? Виявилось, що Superfetch побачила купу звільненої для гри пам'яті і продовжила заповнювати вільну пам'ять фоновими процесами з низьким пріоритетом. Зазвичай, це залишилося б непоміченим, але навіть фоновий низькопріоритетний дисковий потік достатньо помітний, коли ви в онлайні граєте в Battlefield та ще з 63 користувачами при розрішенні 1600х1200.

Я абсолютно спокійно відношуся до того, щоб Superfetch по-своєму використовувала мою системну пам'ять. Питання не повинне стояти "Чому Vista використовує всю мою пам'ять?", але "Якого Біса попередні версії Windows використовують мою пам'ять так неефективно?". Я не знаю. Можливо, до того як 2 Гб пам'яті стали стандартом в більшості ПК, правила були інші.

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

Windows Vista: як рятуватися?

Юзер і комп: хвороби 2007 року

 

Реклама

© 2006-2011 "Час i Подiї". All Rights Reserved | Chicago Web Design - Dropshipping suppliers