Являются ли компьютеры с большим объемом оперативной памяти потенциально более быстрыми, если обычно используется не вся память?


85

Допустим, у меня есть компьютер с 16 ГБ памяти. Если мой компьютер обычно использует только около 4 ГБ и никогда не достигает 8 ГБ, это быстрее, чем компьютер с только 8 ГБ (того же типа) памяти? Будет ли мой компьютер работать так же быстро, удалив вторую половину из 16 ГБ, оставив всего 8 ГБ?


17
Часть сложности этого вопроса заключается в том, что «в использовании» трудно определить для любой современной операционной системы с виртуальной памятью и отображенными в память файлами. Например, используется ли сегмент кода («текст») исполняемой программы или «кэш»?
R ..

5
Различные операционные системы управляют памятью по-разному. В вопросе не указана операционная система. Термин «использование» может также означать разные вещи. Плохой вопрос, еще худший ответ выбран.
Джейсон

Чем меньше память, тем быстрее, так как нагрузка на драйверы адресов памяти меньше. На практике, однако, я сомневаюсь, что тактовые частоты настроены, чтобы учесть это, поэтому не было бы никакой разницы. (При этом предполагается, что «лишняя» ОЗУ будет просто лежать как комок и не будет каким-то образом использоваться.)
Даниэль Р Хикс

3
Этот вопрос действительно нуждается в определении «в использовании». Каждый ответ (как принято в настоящее время), который утверждает кэш утверждений, говорит об использовании памяти. Это, вероятно, более полезное определение, но было бы полезно разделить различные виды использования памяти. Я предполагаю, что мы можем не захотеть обсуждать, помогает ли полностью неиспользуемая память ...
Нанн

Также обратите внимание, что наличие дополнительной палки оперативной памяти само по себе ускоряет процесс, поскольку к обоим следует обращаться параллельно.
Tyzoid

Ответы:


112

Да, потому что операционная система может использовать дополнительную оперативную память в качестве дискового кэша, что ускоряет доступ к данным на диске.

Тем не менее, дополнительная оперативная память не ускорит вычисления, связанные с процессором (не требуя большого дискового ввода-вывода).


31
Любая оперативная память, которая не используется для других целей. (Если у вас больше оперативной памяти, чем дискового пространства, что маловероятно.)
Wyzard

30
Linux делает. Я был бы удивлен, если бы Mac OS не делала то же самое. Было бы глупо не делать этого.
Вайзард

9
"Не показывает" где? Запустите freeсистему Linux и посмотрите на столбец «кэшированный» Некоторые высокоуровневые приложения (такие как системный монитор GNOME) не сообщают о том, что кэш «используется», поскольку эта оперативная память доступна для использования другими программами; ядро может сбросить кеш в любое время.
Вайзард

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
Это зависит от того, считаете ли вы дисковый кеш «использованной» оперативной памятью. freeНапример, программа Linux сообщает об этом обоими способами.
Вайзард

Я думаю, что пользовательский интерфейс представляет для пользователя, и фактическая ситуация может отличаться. ОЗУ, которое используется для кэширования, используется независимо от того, скрывает ли пользовательский инструмент этот факт для пользователя.
Пол

«Если через некоторое время машина все еще не использует более 4 ГБ ...» -> Опять же, кеширование на диске великолепно, но оно не будет реально заполнять всю вашу свободную оперативную память, если у вас есть много вещей, которые можно кэшировать с диска - - он кэширует только то, что вы на самом деле использовали, а сейчас нет , что, вероятно, не превышает нескольких ГБ, если ваши обычные действия не включают обильное количество фотошопа и т. д., или если компьютер является загруженным сервером с большим количеством статические файлы.
Златовласка

@goldilocks Очевидно, что «через некоторое время» является расплывчатым, но намеревается иметь в виду «после такой продолжительности, что Windows и приложения имели причину загружать достаточно данных, которые будут превышать 4 ГБ». Мое использование довольно обычное и превышает это обычно. Дело в том, что, если этот предел достигнут, это может быть связано с ограничением, а не с отсутствием необходимости в большем количестве кэша.
Пол

9

Еще одна часть уравнения - как сконфигурированы карты памяти. В частности, современные материнские платы поддерживают двухканальную память, что позволяет удвоить пропускную способность между материнской платой и памятью; Если у вас была парная память, и вы удалили 1 из каждой пары, вы потеряли ее, и поэтому ваш доступ к памяти при выполнении большого количества операций передачи памяти будет уменьшен, что должно привести к более длительным операциям. (Наоборот, если у вас было 8 ГБ более быстрой памяти в паре с 8 ГБ более медленной памяти и вы использовали только 8 ГБ, удаление 8 ГБ медленнее и восстановление более быстрого должно позволить вам работать быстрее, так как вы все еще получаете двухканальный но не нужно не замедляться до самой медленной памяти)

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


3

Извлечение половины вашей 16 ГБ памяти замедлит работу компьютера.

Это сохраняется, даже если вы никогда не используете около 8 ГБ памяти.

Программная часть этого покрыта другими ответами и сводится к тому, что ОС выбирает использование ОЗУ, а не диска.

Однако вы можете увидеть аппаратное снижение производительности, уменьшив вдвое объем доступной оперативной памяти. Причина в том, что шины RAM используют многоканальную архитектуру, а это означает, что компьютер может передавать данные между несколькими модулями RAM одновременно.

Вероятно, ваш компьютер двухканальный. В этом случае вы можете удалить 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 сообщает об использовании как включительно, так и исключая буферизацию).

Каналы памяти влияют на производительность: [Если удаление памяти означает, что вы уменьшаете количество используемых каналов памяти, тогда система замедлится, как правильно указал Фун]

[править:] Дэвид Шварц отметил, что уменьшение памяти уменьшает пределы для частных, модифицируемых отображений памяти под окнами. Очевидно, Windows ограничивает общее количество этих резервирований общим объемом памяти плюс подкачка, поэтому вы можете исчерпать этот ресурс, даже если сообщается о «свободной памяти» (поскольку реальная память / подкачка не выделяется до тех пор, пока страница не будет доступна, она не учитывается как использование памяти). Linux ведет себя по-разному - каждый процесс может выделить до общего объема памяти и размера подкачки, а общий объем по всем процессам может превысить общий объем памяти плюс подкачка.


1
Вы просто утверждаете, что «нет» - правильный ответ, но не говорите почему.
Дэвид Шварц

Это было в ответ на принятый ответ - у меня нет точек повторения, чтобы прокомментировать его напрямую - извините за путаницу. Чтобы уточнить, в случае, если это не было очевидно, вы используете столько памяти для буферизации жесткого диска, сколько фактически читается или записывается - если просто не так много места на диске или к нему никогда не обращаются, то дополнительная память не ' не имеет значения.
iheggie

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

А как насчет того, что больше ОЗУ означает больше резервного хранилища, которое может позволить ОС разрешать выделение, в противном случае она отказалась бы?
Дэвид Шварц

В моем примере с сервером БД - вообще нет разницы, поскольку он никогда не откажется от размещения из-за недостатка свободной памяти. От какого распределения отказался бы O / S, если a. все процессы в памяти, б. весь диск уже был помещен в буфер, c. у него была свободная память и d. какой-то другой предел не был превышен (например, максимальный лимит процесса / буфера / адресуемого размера)?
iheggie

0

Фрагментация памяти - еще одна причина иметь дополнительную память. Если у вас 8 ГБ ОЗУ, и вы склонны использовать его на 80%, особенно в современных случаях использования (с большим количеством перестановки памяти, например, при открытии и закрытии вкладок браузера), вы в конечном итоге получите существенную фрагментацию.

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


Насколько я понимаю, фрагментация памяти - это то, что может происходить в пространстве памяти процесса, которое является виртуальным в типичных современных системах, и что оно не относится к системе в целом. Так как физическая память делится на страницы, которые отображаются индивидуально в пространства виртуальной памяти процессов, фрагментация была бы бессмысленной концепцией. Пожалуйста, поправьте меня, если я что-то неправильно понял.
Томас Падрон-Маккарти

0

Возможно, но не обязательно. Среди прочего, одна из вещей, которую RAM позволяет компьютеру - это разрешать приложению выделять память, которую они никогда не смогут использовать. Если в системе недостаточно хранилища резервных копий (которое включает в себя ОЗУ), чтобы разрешить каждому выделенному распределению до тех пор, пока он потребляет столько памяти, сколько возможно, операционной системе придется либо отказаться от этих выделений, либо выполнить перегрузку. Некоторые операционные системы никогда не перезагружаются, и почти все современные операционные системы ограничивают количество перегрузок, которые они допускают.

Таким образом, память, которая не используется, может повысить производительность, позволяя операциям, которые потенциально могут потребовать ОЗУ, добиться успеха там, где в противном случае они потерпят неудачу.


-1

Больше оперативной памяти не ускоряет работу компьютера. Меньше оперативной памяти «тормозит» компьютер.

У компьютеров есть физическая максимальная скорость (включая разгон), и ничто не может сделать их быстрее, чем это.


3
Как показано в ответе Вайзарда, «компьютер» в целом включает доступ к диску, где большее количество оперативной памяти позволяет увеличить объем кэширования и, следовательно, ускорить его.
пожалуйста, удалите меня

Вы имеете в виду, что мы можем увеличить ограничение физической скорости компьютера, добавив к нему терабайт памяти?
Xtro

Учитывая жесткие диски, да.
пожалуйста, удалите меня

Кстати, меньше оперативной памяти тоже не всегда замедляет работу компьютера. Кэш-память L3 много раз замедляла работу компьютера из-за ошибок в кэше.
пожалуйста, удалите меня

2
Я нахожу твой ответ тавтологическим. Да, «максимальная скорость» ЦП - это максимальная скорость ЦП. Хорошее шоу. Однако с практической точки зрения, по сравнению с ПК с достаточным объемом ОЗУ, ПК с избыточным объемом ОЗУ будет работать несколько быстрее.
Джо
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.