Windows бачить не всю оперативну пам'ять. Чому комп'ютер не бачить всю ОЗУ

Windows бачить не всю оперативну пам'ять.  Чому комп'ютер не бачить всю ОЗУ
Windows бачить не всю оперативну пам'ять. Чому комп'ютер не бачить всю ОЗУ

Твітнути

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

Що таке оперативна пам'ять та навіщо вона потрібна?

Оперативна пам'ять(або RAM - R andom A ccess M emory, або ОЗУ - Проперативне Зщо згадує Убудова) - енергозалежна пам'ять, що використовується для тимчасового зберігання команд та даних, необхідних для обчислень, які робить процесор (або процесори) комп'ютера. Точніше і докладніше про це розказано у Вікіпедії, а я зосереджуся на власне проблемі вільного місця в оперативній пам'яті.

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

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

У Windows запущені програми фізично можуть розташовуватися не тільки "у платах оперативної пам'яті", але і на жорсткому диску у файлі pagefile.sys.Цей файл називається "файлом підкачування" або "свопом" (від англ. Swap).

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

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

Щоб у файл підкачки скидалися лише непотрібні дані, Windows працює Менеджер пам'яті. Працює цілком успішно, завдяки чому на комп'ютері з 512 Мб ОЗУ можна запускати програми, що займають більше гігабайт пам'яті. Типовий приклад - сучасні версії Adobe Photoshop, 3DS Max та багато інших програм для складних обчислень. Звичайно, за такої малої кількості оперативної пам'яті програми будуть сильногальмувати, проте працювати в них так-сяк, але можливо.

Що роблять оптимізатори пам'яті?

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

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

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

Примітка №1:Я не стверджую, що частота кадрів в іграх залежить від обсягу оперативної пам'яті. Встановивши більше оперативної пам'яті комп'ютер, вдасться підвищити продуктивність лише у програмах, де справді важливий обсяг ОЗУ не дивлячись інші інші важливі параметри: частота процесора, характеристики відеокарти, частота оперативної пам'яті, швидкість жорсткого диска тощо.

Примітка №2:З програмами трапляються помилки під загальною назвою « витік памяті«, коли програма так «розростається» і займає всю пам'ять без потреби, але в такому разі треба вимагати від розробників цієї програми виправлення помилки, а не звільняти пам'ять оптимізаторами.

Як працюють оптимізатори пам'яті

Програми оптимізації пам'яті (назви у них можуть бути різні - SuperRAM, FreeMemory, Memory Management SuperProMegaEdition і т.п.) можуть звільняти пам'ять декількома способами, але вони зав'язані на принципі обману Менеджера пам'яті Windows:

  1. Програма викликає спеціальну функцію EmptyWorkingSet(), яка змушує всі програми якнайбільше вивантажити «себе» у файл підкачки.
  2. Програма починає безконтрольно розростатися в пам'яті, повідомляючи Менеджеру пам'яті Windows про те, що їй це потрібно для справи (я кажу метафорами, але взагалі справа саме так), в результаті чого Менеджер пам'яті викидає якомога більше програм на жорсткий диск у файл підкачування.

Підсумок завжди один: програми починають гальмувати, проте циферка вільного місця в оперативній пам'яті зеленого кольору і програма оптимізації пам'яті каже, що все добре. У результаті користувач радіє, відкриває вікно зі своєю улюбленою програмою та… чекає.Тому що його улюблена програма починає сильно гальмувати.Так буде доти, доки програма не поверне «себе» в оперативну пам'ять із файлу підкачки. В результаті оперативна пам'ять знову заповнюється, індикатор вільного місця знову повідомляє про зайнятість пам'яті, користувач злиться, запускає очищення пам'яті і все відбувається за другим (третім, п'ятим, десятим) колом.

Зворотного ефекту – щоб програма зайняла всю оперативну пам'ять нібитодля швидкої роботи – домогтися не вдасться. Слово «нібито» я вжив тому, що в ідеальному випадку (коли пам'яті достатньо) програми беруть стільки пам'яті, скільки їм потрібноі заважати цьому процесу не можна. Втрутитесь в процес - отримайте гальма, спричинені частим зверненням до файлу підкачування.

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

Висновок №1:звільнення оперативної пам'яті оптимізаторами йде лише на шкоду та знижує продуктивність.

Висновок №2:не можна судити про швидкість роботи програми з того, скільки місця вона займає в оперативній пам'яті.

Висновок №3:якщо програма займає багато місця в оперативній пам'яті, значить вона оперує великими обсягами даних. Допомогти їй «думати» швидше можна лише збільшивши обсяг оперативної пам'яті, тобто. поставивши в комп'ютер більше плат ОЗУ. Але це допоможе, якщо інші характеристики ПК не відповідають вимогам.

Щоб не бути голослівним, це посилання на аналогічні висновки з поясненням роботи Менеджера пам'яті Windows: сюди.

Як потрібно оптимізувати пам'ять?

Найочевидніший спосіб підвищити продуктивність комп'ютера – закрити непотрібні програми. Другий - встановити побільше планок (плат) оперативної пам'яті, щоб програми «почувалися вільніше» і працювали швидше. Інших способів прискорення комп'ютера, безпосередньо пов'язаних з оперативною пам'яттю, ні.

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

Про вільну оперативну пам'ять у Windows Vista, 7, 8, 10

На форумах я часто бачу обурені крики (цитую): « Поставив Windows 7 (8, 10), подивився Диспетчер завдань, а там говориться, що зайнято півтора гігабайти чи вся оперативна пам'ять! Windows 7 (8, 10) жере дуже багато пам'яті!»

Насправді все зовсім не так і причин обурюватися немає. Зовсім навпаки: у сучасних операційних системах вільна пам'ять відводиться під кеш.Це відбувається здебільшого завдяки функції SuperFetch. Завдяки кешу програми запускаються швидше,оскільки замість звернення до жорсткого диска дані завантажуються з оперативної пам'яті (див. картинку вище, різниця швидкості роботи жорсткого диска і ОЗУ написана жирним шрифтом). Якщо якійсь програмі знадобиться більше оперативної пам'яті – кеш миттєвоскоротить свій розмір, поступившись їй місцем. Докладніше про це написано на Хабрахабрі.

Висновки:

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

Також існує міф, що при використанні Windows Vista, 7, 8 та 10, кеш заважає програмам. Нібито «коли програмі потрібно більше оперативної пам'яті, виявляється, що вона забита кешем, виникають гальма». Насправді, це неправда. Кеш випаровується миттєвота програмі відразустає доступний необхідний обсяг оперативної пам'яті.

Зміна розміру файлу підкачки, його переміщення або вимкнення

Теж досить поширені, до певної міри шкідливі, поради. Про це є гарна стаття на Хабрахабрі. Я лише наведу найважливіші висновки тієї статті, додавши свої з особистого досвіду:

  1. Змінювати розмір файлу підкачки немає особливого сенсу.Теоретично, в ідеалі треба виставити розмір файлу підкачки не більше того, який потрібно запущеним програмам, але проблема в тому, що навіть якщо ви використовуєте одні і ті ж програми одних і тих же версій з кожним днем, ситуації бувають різні (ви можете запустити в браузері одну вкладку, а можете сотню, кожну з відкритою грою на Flash) та вимоги до доступної пам'яті будуть різні - передбачуваний «ідеальний» розмір файлу підкачки змінюватиметься від хвилини до хвилини. Тому сенсу змінювати розмір файлу підкачки немає, тому що "ідеальний розмір" файлу підкачки змінюється постійно. Простіше залишити той розмір, який визначила система, і не морочити собі голову.
  2. Якщо вимкнути файл підкачки на системному розділі(при цьому файл підкачки може використовуватись на інших розділах), не працюватиме дамп пам'яті при помилках BSOD.Тому, якщо система буде показувати синій екран смерті, для виявлення причини збою доведеться спочатку включити файл підкачки на системному розділі, потім чекати повторення збою. Є тільки одна ситуація, коли доцільно відключати файл підкачки на системному диску (позбавлятися можливості діагностики) та включати на іншому - якщо в комп'ютері встановлено два і більше фізичнихжорсткий диск. Переміщення файлу підкачування на інший фізичний диск може знизити кількість гальмування через розподіл навантаження на диски.
  3. Вимкнення файлу підкачки (повне, тобто на всіх дисках) викличе проблеми та вильоти ресурсомістких програм.Ви не повірите, але навіть зараз, коли в домашньому ПК встановлено в середньому 16 Гб RAM, зустрічаються програми, яким потрібно більше. Особисто я стикався з проблемами при рендерингу складних сцен за допомогою V-Ray і при роботі в програмі GIMP - ці програми досить ненажерливі щодо доступної пам'яті і закриваються при її нестачі.
    Примітка:Зрозуміло, що програми зазвичай не пишуть дані у файл підкачки самі, них це робить ОС (але бувають винятки). Як би там не було, вимкнений файл підкачки не можна розглядати як частину нормальногорежим роботи комп'ютера.
  4. Переміщення файлу підкачки на диск RAM(Дуже швидкий віртуальний диск, що знаходиться в оперативній пам'яті) недоцільно.
    По перше, і це найголовніше, при запуску Windows RAM диск може ініціалізуватися пізніше того моменту, коли системі знадобиться файл підкачки. Через це може статися будь-що - від BSOD до спонтанних підгальмовувань системи (зіштовхнувся з перерахованим, коли перевіряв цю ідею).
    По-друге, розмір такого файлу підкачки буде невеликий - пам'ять не гумова. Виникає вибір - або брак ОЗУ при великому файлі підкачування в пам'яті, або глюки програм при нестачі місця в невеликому файлі підкачування. Золотий середини немає, т.к. комп'ютер може виконувати різні завдання.
    Виняток, коли можна створити великий файл підкачування на RAM-диску – якщо у вас 16 Гб ОЗУ та більше. Однак при такому обсязі ОЗУ файл підкачування майже не використовується, зникає сенс тримати його в оперативній пам'яті.
    По-третє, це просто безглуздо, оскільки своп необхідний розширення віртуальної пам'яті рахунок жорсткого диска чи SSD.

Очищення файлу підкачки

У файлі підкачки pagefile.sysможе зберігатися різноманітна інформація конфіденційного характеру - наприклад, картинки із нещодавно відкритих у браузері сторінок. Це нормальний процес, зумовлений особливостями роботи програм у Windows. При бажанні можна увімкнути очищення файлу підкачки при вимиканні комп'ютера. Однак продуктивності цей твік жодним чином не додасть, навпаки - серйозно уповільнить вимкнення та перезавантаження комп'ютера.

Якщо ви непрацюєте з конфіденційними даними, краще не включати очищення pagefile.sys.

Доступність більше 4 Гб оперативної пам'яті у Windows

Інтернет буквально завалений міркуваннями користувачів про те, чому в бітній Windows доступно 3,5 Гб оперативної пам'яті замість, наприклад, встановлених 4 Гб. Було вигадано безліч теорій, міфів, легенд. Наприклад, вважають, що це обмеження, зроблене Microsoft, яке можна зняти. Насправді це правда - примусове обмеження справді є. Тільки зняти його не можна. Це зумовлено тим, що в 32-розрядних системах драйвера та програми можуть нестабільно працювати при використанні системою більше чотирьох гігабайт оперативної пам'яті. Для 64-бітових Windows драйвера ретельніше тестують, вищезгаданого обмеження там немає.

У 32-бітній Windows доступно лише 4 Гб оперативної пам'яті, у 64-бітній такого обмеження немає і доступно набагато більше оперативної пам'яті – до 192 Гб.

Але не все так просто. Windows 7 Початкова (Starter)(І її аналог у Vista) не бачить більше 2 Гб оперативної пам'яті. Це теж обмеження, тільки не через нестабільно софт, що працює. Справа в тому, що Windows 7 Початкова поширюється виключно на малопотужних нетбуках, за фактом практично безкоштовно, тому необхідно було дистанціювати її від дорожчих видань: Домашній базовій, Домашній Розширеній, Максимальній і т.д. Частину обмежень Windows 7 Starter можна зняти, але тільки не обмеження на два гігабайти оперативної пам'яті.

Що стосується решти 32-бітних видань Windows XP, Vista, 7 та Windows 8/10: на практиці користувачеві доступно ще менше. 3,5 Гб.Справа в тому, що драйвера теж мають свої адреси, які позбавляють програми Windows доступу до частини пам'яті в 512 мегабайт. Існує патч, що дозволяє «засунути» такі адреси за межі чотирьох гігабайт, щоб система почала використовувати всі 4 Гб оперативної пам'яті, але це практично не має сенсу:

  • Як я писав вище, драйвера і програми не зможуть коректно працювати після такого патчу, тому система може почати зависати, видавати помилки, тобто. вести себе непередбачувано.
  • Навіть якщо в комп'ютері буде встановлено плати оперативної пам'яті на 8, 16, 32 Гб або більше - це ніяк не допоможе їх задіяти в 32-бітному режимі операційної системи.

Який сенс доступності додаткових 512 Мб оперативної пам'яті, якщо система стане нестабільною? Ось наочний приклад. Все одно доведеться ставити 64-бітну Windows.

Те, що видно 4 Гб оперативної пам'яті, не означає, що її можна ефективно використати.Проблема в тому, що 32-бітна Windows не може грамотно виділити процесу (програмі) більше 2 Гб фізичної оперативної пам'яті. Про це багато хто забуває - і дарма. Неважливо скільки оперативної пам'яті в комп'ютері, якщо програмі не можна дати більше 2 Гб ОЗУ. Приклад: якщо користувач працює в 32-бітній Windows з Photoshop на комп'ютері з 4 Гб оперативної пам'яті - Фотошоп зможе задіяти лише два гігабайти максимум, решта даних скине у файл підкачки і почне гальмувати. З іграми те саме.

Насправді тільки в 64-бітній операційній системі програми можуть задіяти весь потенціал оперативної пам'яті об'ємом більше двох гігабайт.

І то не всі, а лише розраховані на використання більше ніж 2 Гб ОЗУ. Ситуацію знову можна виправити за допомогою відповідних патчів в 32-бітній Windows, але це працює далеко не з усіма програмами. Повторюся: лише 64-бітна Windows та 64-бітні програми, запущені в ній - єдиний вихід задіяти весь потенціал великого обсягу ОЗУ.

Тим часом із серверними версіями Windows ситуація інша: там доступні набагато більші обсяги оперативної пам'яті навіть у 32-бітних версіях ОС. Чому так відбувається, розказано у статті Подолаючи межі Windows: фізична пам'ять від Марка Руссиновича.

  • Підбиваємо підсумки
  • Оптимізатори оперативної пам'яті користуватися не можна.
  • Торкатися настроювання пам'яті - теж, навіть якщо в програмі є безліч підказок, що дають відчуття контролю над ситуацією.
  • Вільна оперативна пам'ять Windows Vista/7/8/10 використовується на благо, краще не чіпати цей функціонал - все добре працює, поліпшити практично нічого не можна. Якщо у вас гальмує комп'ютер, то цешвидше за все

не через зайняту пам'ять (вона зайнята корисним кешем), а через велику кількість запущених програм або однієї програми, яка все «забирає» собі. Оновлено: 13.04.2019

Опубліковано: 15.06.2018

Опис

Система визначає менший обсяг оперативної пам'яті, ніж встановлено у комп'ютері.

Або системі доступна не вся пам'ять:

Також у БІОС може визначатися не весь її обсяг (частіше лише половина).

  1. Причина
  2. Частину пам'яті забирає вбудована відеокарта.
  3. Ліміт редакції чи розрядності операційної системи.
  4. Програмне обмеження.
  5. Резервування пам'яті системою.
  6. Несправність оперативної пам'яті.
  7. Обмеження із боку процесора.
  8. Помилка БІОС або необхідність оновлення.
  9. Ліміт максимального обсягу, що підтримує материнська плата.

Материнська плата не підтримує один із модулів пам'яті.

1. Використання вбудованої відеокарти

Для цієї проблеми характерне незначне виділення пам'яті під роботу відеоадаптера. У цьому випадку ми спостерігатимемо невелике зменшення доступної пам'яті, наприклад:

Якщо ж ми захочемо, щоб вбудована відеокарта споживала менше пам'яті, заходимо до БІОС/UEFI та знаходимо один із параметрів:

  • Share Memory Size
  • Onboard VGA Frame Buffer
  • Display Cache Window Size
  • On-Chip Video Window Size
  • Onboard Video Memory Size
  • Internal Graphic Mode Select
  • Integrated Graphics Share Memory

* У різних версіях БІОС вони можуть називатися по-різному. Також не виключено, що можуть використовуватися інші параметри — у такому разі потрібно вивчити документацію до материнської плати або скористатися пошуковою системою.

Після цього міняємо обсяг резервування пам'яті під потрібні відеосистеми:

2. Ліміти операційної системи

Різні редакції Windows мають обмеження за обсягом пам'яті, що максимально використовується.

а) Всі 32-бітні версії можуть використовувати максимум 3.25 Гб оперативної пам'яті. Це архітектурне обмеження — межа, на яку здатна система на 32 біти. Картина буде приблизно такою:

Щоб задіяти більше 3 Гб пам'яті, необхідно перевстановити систему на 64-бітну версію.

б) Редакції Windows також мають обмеження. Наприклад, Windows 10 Home 64 біт дозволить використовувати 128 Гб, а Windows 10 Pro x64 - 512 Гб. З Windows 7 ситуація гірша — домашня базова редакція дозволить використовувати лише 8 Гб, а початкова всього 2 Гб.

Докладніше у таблицях:

ОС Обмеження, Гб
32-біт 64-біт
Windows 10 Home 4 128
Windows 10 Pro 4 512
Windows 8 4 128
Windows 8 Enterprise 2 512
Windows 8 Professional 4 512
Windows 7 Starter 2 2
Windows 7 Home Basic 4 8
Windows 7 Home Premium 4 16
Windows 7 Professional 4 192
Windows 7 Enterprise 4 192
Windows 7 Ultimate 4 192

Якщо проблема пов'язана з лімітом редакції, необхідно оновити систему або перевстановити її.

3. Програмне обмеження

Обмеження може бути виставлене у системі. Щоб його зняти, відкриваємо командний рядок та вводимо команду msconfig- Відкриється вікно «Конфігурація системи» (також можна скористатися пошуком Windows за назвою вікна).

У вікні, що відкрилося, переходимо на вкладку і клацаємо по Додаткові параметри:

Перевіряємо, що не поставлена ​​галочка на Максимум пам'яті:

4. Налаштування базової системи введення виводу

Для того, щоб комп'ютер міг задіяти всю пам'ять, в деяких випадках може знадобитися налаштування БІОС/UEFI:

5. Максимальний обсяг, який підтримує материнська плата

Необхідно перевірити, який максимальний обсяг може побачити материнська плата. Для цього варто скористатися інструкціями - вона йде в комплекті, а також її можна завантажити на сайті виробника. Ще подібну інформацію можна знайти на деяких Інтернет-магазинах:

6. Несправність модуля пам'яті

У разі несправності пам'яті система та БІОС відображатимуть не весь її обсяг (як правило, лише половину). Наприклад, якщо в комп'ютер вставлено 16 Гб (2 планки по 8 Гб) ми бачитимемо лише 8.

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

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

7. Обмеження процесора

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

8. Встановлення драйвера для чіпсету

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

Також драйвер можна встановити в напівавтоматичному режимі за допомогою програми DriverHub.

9. Проблема з БІОС/UEFI

Оскільки БІОС/UEFI відповідає за збирання відомостей про комп'ютер, проблема може виникнути на початковій стадії увімкнення ПК.

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

10. Підтримка модуля з боку материнської плати

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

Це можна зробити на офіційному сайті виробника материнки - переходимо в розділ підтримки та знаходимо аркуш сумісності. Серед переліку обладнання потрібно знайти куплену пам'ять.

11. Обмеження ліцензії Windows

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

У разі необхідно перевстановити систему. При цьому не допоможе проста переустановка поверх наявної системи — лише повне форматування системного розділу із встановленням нової Windows.

12. Перестановка модулів пам'яті

Іноді допомагає перестановка сестами модулів пам'яті. Просто розбираємо комп'ютер, витягуємо модулі та міняємо їх місцями.

13. Чищення модулів гумкою

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

Знайомі багатьом користувачам. При виклику вікна властивостей системи повний об'єм відображається, але після нього чомусь вказується, що пам'яті доступно трохи менше. Ще гірше, коли користувач точно знає, скільки в нього встановлено оперативної пам'яті, а доступно 50 відсотків. Чому це відбувається, і як задіяти максимальний обсяг ОЗП, далі розглянемо. Але спочатку коротко зупинимося на основних причинах такого явища.

Чому доступна не вся оперативна пам'ять?

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

  • встановлена ​​32-розрядна система, яка не підтримує пам'ять понад 4 Гб;
  • максимальний не підтримується материнською платою;
  • у параметрах системи встановлено обмеження на максимум об'єму ОЗУ, що використовується;
  • у BIOS некоректно задані налаштування перерозподілу пам'яті;
  • пам'ять частково зарезервована під вбудовані відеоадаптери;
  • запущено дуже багато активних процесів;
  • встановлені планки мають пошкодження, їхня працездатність порушена, або вони підключені неправильно;
  • Використання пам'яті блокується вірусами.

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

Як задіяти всю встановлену пам'ять найпростішими способами?

Набагато важливішими питаннями, коли оперативна пам'ять доступна не вся, є проблеми із підключенням планок пам'яті або їхньою некоректною роботою. Для початку переконайтеся, що материнська плата розрахована на об'єм, що встановлюється, а також перевірте щільність вставки планок у відповідні слоти. Незайвим буде і виконати тест пам'яті, для чого може використовувати власний засіб Windows (mdsched) або сторонні програми, як Memtest86/86+.

Якщо на цьому етапі не виявлено проблем, зверніть увагу на розрядність встановленої модифікації Windows. У разі наявності 32-бітної версії, яка не вміє працювати з ОЗУ об'ємом більше 4 Гб (якщо тільки не застосовувати спеціальні засоби), скільки б ви не встановлювали пам'яті понад цей ліміт, все одно система його не розпізнає.

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

Іноді буває і так, що оперативна пам'ять доступна не вся через некоректно виставлені опції використання пам'яті (msconfig).

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

Як зрозуміло, частково пам'ять може «з'їдатися» величезною кількістю активних фонових процесів і служб, які не видно користувачеві. Для початку відключіть усі непотрібні компоненти в автозавантаженні (у Windows 7 і нижче для цього використовується відповідна вкладка в налаштуваннях конфігурації, у версіях вище - Диспетчер завдань).

Про всяк випадок перегляньте активні компоненти системи у розділі програм та компонентів і відключіть невикористовувані (модуль Hyper-V, Internet Explorer, якщо використовуєте інший браузер, службу друку, якщо немає принтера, тощо). Аналогічно можна встановити відключений тип запуску і для деяких інших служб (services.msc), але в цьому випадку потрібно точно знати, що можна деактивувати, а що ні.

Доступно мало оперативної пам'яті: які параметри можна змінити в BIOS?

Якщо проблема і після застосування вищеописаних рішень залишилася, зайдіть в налаштування первинних систем BIOS/UEFI і перевірте налаштування пам'яті, в яких повинен бути присутнім пункт, що містить слова Remapping або Remap (перерозподіл).

Якщо у вас встановлена ​​64-бітна Windows, а пам'яті більше 4 Гб, встановіть для нього значення Disabled (Вимкнути). В іншому випадку його потрібно активувати.

Якщо оперативна пам'ять доступна не вся через резервування додаткового об'єму для відеокарти, вбудованої в материнську плату, виставте для цього пункту значення, що відповідає обсягу пам'яті адаптера (дізнатися його можна на вкладці монітора під час виклику діалогу DirectX - dxdiag). Робиться це за рахунок зміни автоматичного визначення (Auto) на один із доступних варіантів (32, 64 або 128 Мб).

Пропатчування 32-бітових систем

Нарешті, задіяти всю пам'ять понад обсяг 4 Гб можна і в 32-бітних системах, використовуючи для цього утиліту ReadyFor4GB. Спочатку запускається виконуваний однойменний файл EXE з папки програми, а потім натискаються кнопки Check і Apply. Після цього аналогічні дії виконуються для ntkrnlpa.exe. Потім запускається файл AddBootMenu.cmd і підтверджується виконання команди. Після перезавантаження у разі появи меню із завантажувачем вибирається Windows.

Примітка: всі дії виконуються виключно із запуском файлів від імені адміністратора на свій страх та ризик, оскільки працездатність системи після застосування такого методу повною мірою не гарантується.

Сьогодні я розповім про обмеження віртуального адресного простору Windows і про те, як боротися з помилками «Недостатньо пам'яті», що виникають у 32-бітних програм та ігор, коли обсяг пам'яті, що використовується ними, досягає 2 Гігабайт. Декілька простих способів обійти це обмеження і змусити програми використовувати більше 2ГБ пам'яті.

Архітектура x86

Усі сучасні десктоп процесори Intelабо AMD(і не тільки) засновані на x86архітектурі, яка була вперше реалізована у процесорах Intel 8086,що вийшли 1978 року. Аж до Intel 80386 (i386)процесори були 16-біт і могли використовувати лише до 16 Мб ОЗУ. Вийшли 1985 року i386процесори стали 32-bit, що дає можливість адресації до 4 GBоперативної пам'яті (до 64 GB в режимі PAE, але при цьому програми можуть використовувати лише до 4 GB).

Зрозуміло, що в ті роки 4 GB виглядало практично недосяжним. Але ніщо не стоїть на місці і з часом виявилося замало. У 2003 році компанія AMD(ага, вже не Intel) у своїх нових процесорах лінійки Opteronзапровадила розширення x86-64(Інші назви: AMD64, Intel64, x64, EM64T). Це розширення мало ряд поліпшень: 64 бітові основні регістри, додаткові регістри та розширення адресного простору. Поточна реалізація дозволяє використовувати до 256 TBвіртуального адресного простору, при теоретичному максимумі в 16 EB (ExbiByte - 2 64 байт). Процесори Intelпідтримують розширення x86-64(AMD64) із старших моделей Pentium 4 (Prescott і далі).

x86 та x64 операційні системи

Застосовується до ОС(Операційні Системи) використовується позначення x86(в побуті часто позначається як x32) та x64, що є 32-розрядними та 64-розрядними відповідно. Їхня відмінність у тому, що x64 підтримують AMD64, даючи можливість використовувати його переваги, а x86 його не підтримує (і не використовує). Насправді це дає певні особливості та обмеження.

  • 64-розрядна ОС вимагаєпроцесора з підтримкою AMD64(Всі сучасні процесори від Intelабо AMD)
  • 32-розрядна ОС може працювати як на процесорі з підтримкою AMD64, так і без неї (але таку старовину ще знайти потрібно)
  • 64-розрядні програми працюють тількина 64-розрядній ОС
  • 32-розрядні програми повноцінно працюютьі на x32 і на x64 ОС, але переваг AMD64 вони не можуть використовувати

На даний момент йде поступова відмова від x86 операційних систем на користь x64. Наприклад, серверні версії Windows, починаючи з 2008 R2, випускаються тільки 64-розрядними. Те ж Microsoft часто загрожують зробити і для нових десктопних версій, але поки не роблять.

Обмеження віртуальної пам'яті у Windows

Кожна версія Windows має певні обмеженняз використання фізичної та віртуальної пам'яті (можна подивитися за посиланням). І якщо обмеження фізичної пам'яті пов'язане, скоріше, з ліцензуванням, то з обмеженнями віртуальноювсе трохи складніше.

Нас же цікавить лише віртуальна пам'ять, оскільки саме з нею взаємодіють додатки. Якщо не вдаватися до подробиць, то технологія віртуальної пам'яті дозволяє кожному процесу мати свою власну пам'ять – адресний простір, який віртуальноне перетинається з адресними просторами інших процесів. Тобто додаток «вважає», що пам'ять належить лише йому одному і може навіть використовувати більше наявного обсягу фізичної ОЗП, а вже розподілом та узгодженням займається ОС.

Так, для 32-розрядних Windows загальне обмеження віртуальної пам'яті – 4 GB (як і для 32-розрядних процесорів). 64-розрядні мають обмеження від 15 до 256 ТБ залежно від версії. Але будь-яка редакція Windows ділить загальний адресний простір на двічастини: user mode(користувацький режим) – пам'ять, доступна програмам та kernel mode(режим ядра) – пам'ять, що використовується системою. І, якщо на х64 додатків дістається 8 - 128 GB, то для x32 це лише 2 GB (фактично ~1.7-1.8 GB). Досягнувши цього ліміту, програма видасть помилку і буде закрита, або просто «вилетить» без жодних попереджень.


Як влаштована пам'ять у Windows, докладно розписано Марка Руссиновича.

Функція налаштування пам'яті 4GT

Для Windows x86 існує офіційна «милиця», що дозволяє перерозподілитивіртуальну пам'ять, даючи програмам до 3 GB, при цьому зменшуючи системний простір до 1 GB. Називається це 4-Gigabyte Tuning. Як це виглядає, продемонстровано на наступній схемі (ліворуч – за замовчуванням, праворуч – із застосуванням 4GT):


Включається опція таким чином:

Для Windows XP/2003- Додаванням ключа /3GBу файлі Boot.ini


Для Windows Vista/7/8– команда BCDEdit /set increaseuserva 3072 (Пуск> Стандартні (Start > Accessories), правою кнопкою по Командна строка (Command Prompt) – Запуск від імені адміністратора(Run as Administrator), ввести та запустити команду ).


Увімкнення цієї опції може призвести до некоректної роботи деяких драйверів, програм або Windows загалом.

Прапор IMAGE_FILE_LARGE_ADDRESS_AWARE

Програма зможе використовувати понад 2 GB віртуального адресного простору, тількиякщо воно скомпільоване з параметром IMAGE_FILE_LARGE_ADDRESS_AWARE. Всі 64-розрядні програми за замовчуванням мають цей параметр (у цьому їхня суть), а ось 32-розрядні можуть мати його або не мати – тут все залежить від програміста, який поставив цю опцію при компіляції або не поставив.

Цей прапор – це те, що нам потрібно, щоб змусити 32 бітне застосування використовувати більше 2 GB пам'яті. Запуск такого 32-bit програми на Windows x32 із застосуванням 4GT дасть йому до 3 GB пам'яті (фактично ~2.8 GB), а на Windows x64 усі 4 GB.

На щастя, виставити цей прапор для будь-якогопрограми можна самостійно. І тому є кілька способів.

Перед тим, як приступити переконайтесь, що додаток, який ви хочете змінити, в даний момент закрито.

4GB Patch

Найпростіший спосіб.

Для початку скачайте програму з сайту автора або звідси:

Після запуску 4gb_patch.exeвідкриється стандартне діалогове вікно «Відкриття файлу», де потрібно вказати.EXE файл, який ви збираєтеся змінити.

Відразу після вибору файлу з'явиться вікно програми, підтверджуючи успішну операцію. Далі ви можете змінити інший файл (натиснувши Another File) або закрити програму (натиснувши OK).

Майте на увазі, що у програми немає зворотної діїтому в папці зі змінним файлом вона зберігає його резервну копію з розширенням .Backup.

CFF Explorer

Для тих, хто знає, що робить.

CFF Explorer– безкоштовна та досить потужна програма для роботи з PE заголовками від автора 4 GB Patch. Завантажити можна з сайту автора.

  1. Встановивши та запустивши програму, відкриваємо потрібний.EXE файл.
  2. Переходимо до пункту File Header.
  3. Клацаємо в правому нижньому кутку таблиці, що з'явилася (так і написано – Click here).
  4. У вікні виставляємо галочку навпроти App can handle >2gb address space.
  5. Застосовуємо та зберігаємо файл.

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

Назаддія – те саме, з тією різницею, що галочку ми прибираємо.

EDITBIN.EXE

Невелика утиліта EDITBIN.EXE, яка є у комплекті Microsoft Visual Studio.

Наступні дії (запускається з командного рядка):

Виставити: EDITBIN.EXE /LARGEADDRESSAWARE name.exe

Прибрати: EDITBIN.EXE /LARGEADDRESSAWARE:NO name.exe

За допомогою цього параметра (/LARGEADDRESSAWARE) задається використання пам'яті для проектів Visual Studio.

Висновок

Підсумовуючи сказане вище – для того, щоб 32-розрядна програма могла використовувати більше 2 GB пам'яті повинні бути дотримані дві умови.

У цій статті ми розберемося, як усунути обмеження 4 Гб пам'яті на 32 бітних версіях Windows 8 і Windows 8.1, і задіяти всю доступну на комп'ютері оперативну пам'ять.

Більшість користувачів Windows переконані, що 32 бітні ОС Microsoft не підтримують більше 4 Гб оперативної пам'яті. Таким чином, максимум пам'яті, доступної у Windows 8/8.1 x86 – 4 Гб. А з урахуванням того, що Windows резервує частину пам'яті під свої потреби та потреби периферійних пристроїв (найчастіше для відеокарти), кінцевому користувачеві для використання доступні зазвичай близько 3-3,5 Гбайт пам'яті.

На перший погляд все логічно – межею адресації для 32-розрядної адресної шини є ті самі 4 Гб. У всіх офіційних документах Microsoft вказує саме цей максимальний розмір пам'яті, який підтримується у всіх клієнтських версіях x86-системі. Хоча насправді Microsoft трохи вводить всіх в оману.

Що таке PAE і навіщо він потрібний

PAE(Physical Address Extension - розширення фізичної адресації) – ця опція x86 процесора, що дозволяє отримати доступ більш ніж до 4 Гб фізичної пам'яті. Не заглиблюватимемося в технічні подробиці технології PAE, просто відзначимо, що ця технологія підтримується всіма процесорами і безпосередньо в OC Windows вже досить давно.

Так, наприклад, 32-бітна версія Windows Server, запущена на процесорі x86, може використовувати PAE для доступу до всієї оперативної пам'яті системи (до 64 Гб або до 128 Гб залежно від покоління процесора).

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

Примітка. PAE може використовуватися лише на 32 бітних версіях Windows, запущених на сумісних із цим режимом x86 процесорах.

Обмеження режиму PAE

  • PAE не розширює віртуальний адресний простір кожного процесу. Кожен процес, запущений на 32 бітній системі так само обмежений 4 Гб адресного простору.

    Порада. PAE не допоможе збільшити кількість пам'яті, доступної для ресурсомісткої програми (наприклад, графічного або відеоредактора). Якщо така необхідність є, краще перейти на 64-розрядну ОС.

  • При використанні PAE слід відзначити невелике зниження продуктивності системи за рахунок зменшення швидкості доступу до пам'яті, викликане накладними витратами на перемикання сторінок, що відображаються в пам'яті
  • Деякі пристрої не можуть коректно працювати в 36-бітному адресному просторі.

Отже, можна дійти невтішного висновку, що верхня межа доступної фізичної пам'яті в 32 бітних версіях Windows обмежений програмно лише на рівні ядра ОС. А якщо є програмне обмеження, це означає, що його можна оминути! Яким чином включити режим PAE в 32 бітної Windows 8.1 і задіяти всю доступну оперативну пам'ять.

Патч, що включає PAE і дозволяє використовувати всю оперативну пам'ять на Windows 8 / 8.1 x86

Увімкнути режим PAE у Windows 8 (Windows 8.1)штатними засобами не вийде (для цього доведеться вручну в редакторі HEX ​​правити файл ядра ntoskrnl.exe і перепідписувати його). Найпростіше скористатися готовим патчем PatchPae2, Який написаний ентузіастом Wen Jia Liu. Завантажити патч PatchPae2 можна. (архів містить сам патчер - PatchPae2.exe, його вихідні коди та необхідні інструкції).

Патч є невеликою утилітою командного рядка, яка дозволяє модифікувати файли ядра 32 бітних версій Windows з метою активації режиму PAE, що дозволяє використовувати більше 4 Гб оперативної пам'яті (до 128 Гб пам'яті).

Патч PatchPae2 працюватиме з наступними ОС:

  • Windows Vista SP2
  • Windows 7 / Windows 7 SP1
  • Windows 8/Windows 8.1

Примітка. Перед встановленням необхідно патча з метою запобігання конфліктам рекомендується вимкнути оптимізатори та драйвери оперативної пам'яті. Їх можна буде активувати після застосування патчу та завантаження системи в режимі PAE.

Установка PAE - патча у Windows 8/8.1

Увага. Цю інструкцію можна використовувати лише для 32 бітних версій Windows 8 і Windows 8.1, для попередніх ОС Microsoft процедура трохи відрізняється! Будьте уважні!


Примітка.У будь-який момент часу користувач, перезавантажившись, може в меню завантаження перемикатися з режиму PAE на звичайний, або назад.

Важливо!Після встановлення патча необхідно бути особливо уважними під час інсталяції оновлень безпеки Windows. Т.к. деякі оновлення Windows іноді містять і оновлення для ядра, після їх встановлення необхідно оновити і ядро ​​PAE: PatchPae2.exe -type kernel -o ntoskrnx.exe ntoskrnl.exe

Крім того, можуть виникнути проблеми, описані та .

Видалення патча PAE

Щоб видалити патч PAE із системи, необхідно:

  1. Видалити відповідний запис із завантажувального меню (найпростіше це зробити за допомогою msconfig)
  2. Видаліть файли ntoskrnx.exeі winloadp.exeв каталозі %Windir%\System32.

Жодних інших змін до системи патч не вносить.