Чи комп'ютери з більшою кількістю оперативної пам’яті потенційно швидші, якщо зазвичай не використовується вся пам’ять?


85

Скажімо, у мене є комп’ютер з 16 ГБ пам'яті. Якщо мій комп'ютер зазвичай використовує лише близько 4 ГБ і ніколи не досягає 8 ГБ, чи швидше це, ніж комп'ютер із лише 8 ГБ пам'яті (того ж типу)? Чи мій комп'ютер працює однаково швидко, видаливши другу половину 16 ГБ, залишивши лише 8 ГБ?


17
Частина труднощів цього питання полягає в тому, що "у користуванні" важко визначити будь-яку сучасну операційну систему з віртуальною пам'яттю та файлами, відображеними в пам'яті. Наприклад, чи використовується сегмент коду ("тексту") програми, що виконується, або "кеш"?
R ..

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

Менша пам'ять потенційно швидша, оскільки менше драйверів адрес пам'яті. На практиці, однак, я сумніваюся, що тактові частоти регулюються для врахування цього, тому різниці не буде. (Це припущення, що "зайва" ОЗУ просто сидітиме там, як грудочка, а не якось використовується для використання.)
Daniel R Hicks

3
Це питання справді потребує визначення поняття "в користуванні". Кожна відповідь (як прийнято в даний час), що стверджує кеш, розповідає про використання пам'яті. Це, мабуть, більш корисне визначення, але розділення різних можливостей пам'яті було б корисним. Я припускаю, що ми можемо не захотіти обговорювати, якщо допоможе повністю невикористана пам'ять ...
Нанна

Також зауважте, що наявність додаткової рамкової палиці робить її швидше, оскільки обидва повинні мати доступ до паралельного доступу.
Tyzoid

Відповіді:


112

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

Додаткова оперативна пам’ять не зробить швидше обчислення, пов'язані з процесором (не залучаючи багато дискових вводу-виводу).


31
Будь-яка ОЗУ, яка не використовується для інших цілей. (Якщо тільки у вас більше оперативної пам'яті, ніж місця на диску, що малоймовірно.)
Wyzard

30
Linux робить. Я був би здивований, якби Mac OS не зробила те саме. Дурно було б не робити.
Wyzard

9
"Не показує" куди? Запустіть freeсистему Linux і подивіться на стовпчик "кешування". Деякі додатки вищого рівня (наприклад, GNOME System Monitor) не повідомляють кеш про "у використанні", оскільки ця оперативна пам'ять доступна для використання іншими програмами; ядро може відкинути кеші в будь-який час.
Wyzard

4
@PTwr - в такому випадку ОС повинна кешувати ці файли і не повинна давати такої великої швидкості - диск RAM може допомогти, якщо ви пишете, - але виміряйте різницю швидкостей, щоб побачити, чи варто цього
user151019


59

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

Нижче наводиться приклад з комп'ютера з 24 Гб оперативної пам’яті. Незважаючи на те, що в даний час лише 7 Гб виділено як пам'ять "У користуванні", ще 10 ГБ виділяється як пам'ять "в режимі очікування" і містить дані, які можуть бути або не можуть бути прочитані знову. Якщо його прочитають, це зробить ваш комп'ютер "швидшим". Наразі "Вільна" пам'ять не використовується.

Монітор ресурсів

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

Якщо ви хочете дізнатися більше про використання пам'яті в Windows 7, у TechRepublic є чудова стаття .


Що буде, якби цей комп'ютер під цим навантаженням додав ще 8 ГБ? Я підозрюю, що "нічого", але я також підозрюю, що користувач із більшим завантаженням або тривалішим режимом роботи матиме набагато більше кешу.

3
@JonofAllTrades Я погодився б. Одне, про що не йдеться у статті, про яку я пов’язував, - це SuperFetch (послуга за замовчуванням у Windows 7). SuperFetch завантажує речі в пам'ять до них. Він записує схеми використання у файл та потребує декількох перезавантажень / днів, щоб повністю оптимізувати.
Джейсон

Чи трапляється це і в Linux?
Каспер

16

Якщо операційна система використовує лише 4 Гб з 8 ГБ, вона не буде працювати інакше на машині, що використовує 4 ГБ із 16 ГБ.

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

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

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


4
Це залежить від того, чи вважаєте ви кеш диска "використаною" ОЗУ. Програма Linux freeповідомляє про це обома способами, наприклад.
Wyzard

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

"Якщо через деякий час машина все ще не використовує більше 4 Гб ..." -> Знову ж таки, кешування диска чудово, але воно не дійсно заповнить всю вашу безкоштовну оперативну пам'ять, якщо у вас є багато речей, які можна кешувати з диска - - він кешує лише те, що ви насправді використовували, а зараз - ні , що, ймовірно, не перевищує пари ГБ, крім випадків, коли ваші звичайні дії включають велику кількість фотошопу тощо, або комп'ютер - зайнятий сервер з великою кількістю статичні файли.
goldilocks

@goldilocks Очевидно, що "через деякий час" є невиразним, але має намір означати "після такої тривалості, що Windows і додатки мали намір завантажувати достатньо даних, що перевищували б 4 ГБ". Моє використання досить рутинне і перевершує це звичайно. Справа в тому, що якщо ця межа буде досягнута, це може бути усуненням обмежень, а не відсутністю необхідності в більшій кількості кешу.
Пол,

9

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

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


3

Вилучення половини пам'яті 16 Гб сповільнить ваш комп'ютер.

Це справедливо, навіть якщо ви ніколи не використовуєте близько 8 Гб пам'яті.

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

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

Можливо, ваш комп'ютер - двоканальний. У такому випадку ви можете видалити 2 з 4 модулів оперативної пам’яті 4 Гб, не впливаючи на продуктивність. Однак видалення 1 із 2 модулів оперативної пам’яті 8 ГБ вплине на ефективність.

Якщо у вас є архітектура чотириканальної оперативної пам’яті, ви побачите перформанс, навіть якщо ваш модуль має 4 ГБ модулів.


2

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

Windows використовує близько 3-4 ГБ в режимі очікування оперативної пам'яті, не враховуючи інших програм. Я зараз працюю 16 Гб і ніколи фактично не потребував більше 8 Гб. Реально середньостатистичні користувачі ПК ніколи не використовують більше, ніж 4-6 Гб, наприклад, для ігор. Я бачив, як це стає близько 12 Гбіт один раз, коли стискаєш фільм або робиш щось інтенсивне оперативної пам’яті, як правило, стосується мультимедіа та декількох ядерних процесорів, це єдиний спосіб, коли тобі потрібно більше 8 Гб. і так, він би пройшов так само швидко. ІМО.

Простоя після 1 дня тривалості: введіть тут опис зображення введіть тут опис зображення

Простоя після 2-х денного часу: введіть тут опис зображення введіть тут опис зображення

Чим більше оперативної пам'яті Windows, тим більше оперативної пам’яті, як здається, використовується.

введіть тут опис зображення

Що стосується Windows 7, що використовує оперативну пам’ять, щоб зробити певний процес швидшим, ось приклад.

введіть тут опис зображення

Збільшення оперативної пам'яті Chkdsk для прискорення кешування в свою чергу прискорює продуктивність і час перевірки диска, тому в цьому випадку більше робить насправді = швидше ...


1
Windows 7? Навіть з великою кількістю матеріалів я навряд чи переходжу на 2G.
Саймон Куанг

Чим більше оперативної пам’яті Windows 7, тим більше вона буде використовувати ... понаднормово вона буде коливатися через те, які програми ви відкрили і наразі відкриті, поки служби та програми не звільнять пам’ять, вона буде постійно коливатися .. щодо актуального питання. Чи буде 8 ГБ швидше, як 16 Гб, так і ні, залежно від того, для чого ви використовуєте комп'ютер. За звичайних обставин вам не потрібно більше 8 ГБ і не бачити реальної втрати продуктивності, якщо для загальних цілей, таких як ігри чи веб-перегляд.
MORBiD

2

На практиці відповідь, швидше за все, є "НІ" на вказане питання. Питання говорить: "(використання) ніколи не досягає 8 ГБ" і згадує "пам'ять одного типу", таким чином, найімовірніший фактор, що впливає на швидкість (буферизація диска), не буде впливати. Поширений практичний приклад - сервери баз даних з достатньою кількістю пам'яті для буферування повного жорсткого диска - наприклад, з 4 ГБ файлів і 2 ГБ пам'яті, що виділяється процесом / системою, не використовується більше 8 ГБ пам'яті.

Винятки:

Більше пам'яті може сповільнити сплячку - у моїй системі з 32 ГБ пам’яті та SSD диску холодне завантаження значно швидше, ніж пробудження її від сплячки, оскільки економить цілі 32 ГБ на сплячому режимі, але для холодного завантаження потрібно набагато менше читати. Зменшення пам'яті пришвидшило б систему.

Це було б швидше, якби ви отримали доступ до більшої частини жорсткого диска, і більшість людей мають більше використання диска, ніж пам'яті, що залишилось для буферизації, тому додаткова пам'ять допомагає. Також багато O / S повідомляють лише про частину використання як "використання", а решта вважається буферизацією, а не "використанням". (Linux звітує про використання як включно, так і без буферизації).

Канали пам'яті впливають на продуктивність: [Якщо вилучення пам'яті означає зменшення кількості використовуваних каналів пам'яті, система сповільниться, як правильно вказав Foon]

[ред .:] Девід Шварц прокоментував, що зниження пам’яті зменшує обмеження для приватних, що змінюються відображень пам'яті під вікнами. Windows, очевидно, обмежує загальну кількість цих резервів загальною пам'яттю плюс своп, тому ви можете вичерпати цей ресурс, навіть якщо повідомляється про "вільну пам'ять" (оскільки реальна пам’ять / заміна не виділяється до доступу до сторінки, вона не є зараховується як використання пам'яті). Linux поводиться по-різному - кожен процес може виділяти до загального обсягу пам'яті та розміру свопу, а загальний обсяг усіх процесів може перевищувати загальну кількість пам'яті плюс своп.


1
Ви в основному просто стверджуєте, що "ні" - це правильна відповідь, але не кажете чому.
Девід Шварц

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

1
Приклад, який я надавав для сервера баз даних, є прикладом, коли додаткова пам’ять має незначне значення - весь диск у використанні стає буферизованим.
iheggie

А що з тим, що більше оперативної пам’яті означає більше резервного сховища, яке може дозволити ОС дозволити виділення, інакше вона відмовиться?
Девід Шварц

На моєму прикладі сервера БД - зовсім немає різниці, оскільки він ніколи не відмовиться від розподілу через відсутність вільної пам'яті. У якому виділенні O / S відмовиться, якщо a. всі процеси, де в пам'яті, b. весь диск вже був забудований в пам'яті, c. він мав вільну пам’ять і d. якесь інше обмеження не було перевищено (наприклад, обмеження максимального розміру процесу / буфера / адреси)?
iheggie

0

Фрагментація пам’яті - ще одна причина додаткової пам’яті. Якщо у вас є 8 Гб оперативної пам’яті, і ви прагнете зберегти її на 80%, особливо в сучасних випадках використання (з великою кількістю перемикань пам’яті, таких як відкриття та закриття вкладок браузера), ви з часом отримаєте значну фрагментацію.

Додавання додаткових 8 ГБ оперативної пам’яті робить більш ймовірним, що ОС знайде доступні суміжні простори пам’яті, тобто менш часті перезавантаження необхідні для уникнення погіршення продуктивності.


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

0

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

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


-1

Більше оперативної пам'яті не прискорює роботу комп'ютера. Менше таран "уповільнює" комп'ютер.

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


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

Ви маєте на увазі, що ми можемо збільшити обмеження фізичної швидкості комп'ютера, додавши на нього терабайт оперативної пам’яті?
Xtro

Враховуючи жорсткі диски, так.
видаліть мене,

До речі, менше оперативної пам’яті не завжди також сповільнює роботу комп'ютера. Кеш L3 багато разів уповільнював роботу комп'ютера через пропуски кешу.
видаліть мене,

2
Я вважаю вашу відповідь тавтологічною. Так, "максимальна обмежена швидкість" CPU - це максимальна швидкість процесора. Гарне шоу. Однак, з практичної точки зору, порівняно з ПК із лише достатньою оперативною пам’яттю, ПК із надлишком оперативної пам’яті буде працювати трохи швидше.
Джо
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.