2015-08-19 4 views
0

Вопрос: Какова производительность памяти (ОЗУ) (скорость чтения/записи и т. Д.), Связанная с общим использованием.Производительность памяти vs Использование

фон:

  • Мне интересно, если есть влияние на производительность для чтения/записи в системную память на основе общего использования этой памяти

  • Если производительность снижается при более высокой загрузке , какова взаимосвязь между использованием и производительностью? Является ли это линейным? Или в какой-то момент наблюдается значительное снижение производительности?

  • Если есть снижение производительности при более высоком уровне использования, есть ли точка, с которой становится быстрее использовать swap на SSD на шине SATA? Где эта точка происходит?

Результат: При прочих равных условиях, мне очень интересно, если должна быть конкретной цели для использования памяти, чтобы получить максимальную производительность от машины, как с одной стороны, имея больше вещей в системной памяти должен сделать что-то быстрее, чем читать с диска, но в какой-то момент, конечно, на общую производительность памяти существенно влияют некоторые накладные расходы из-за использования высокой памяти?

+0

Индивидуальный доступ к системной памяти, конечно, всегда будет намного быстрее, чем доступ к любому уровню кеша или постоянному хранилищу и не будет затронут использованием памяти. Конечно, есть также модели данных, эффективность которых снижается по мере уменьшения доступной системной памяти. Итак ... возьмите свой выбор. – scottb

ответ

0

Это звучит как вопрос superuser.com, а не stackoverflow.

Время, затрачиваемое на выделение новой памяти, может немного увеличиться по мере приближения системы на 100%.

Если у вас нет места подкачки, Linux выберет процессы, используя много оперативной памяти, и убьет его предварительно, когда система приближается к OOM. (google oom-killer.)

Время доступа к уже выделенной памяти не зависит от доли используемой общей памяти. Программа, использующая 1 ГБ памяти с некоторым конкретным шаблоном доступа, будет показывать ту же производительность на машине с 2G по сравнению с машиной с 16 ГБ ОЗУ.

Виртуальные-> физические сопоставления определяются таблицами страниц, которые сами по себе могут давать более медленную производительность для поиска, когда больше памяти выделяется процессу. (у каждого процесса есть своя таблица страниц). Опять же, это не зависит от%, просто размер. Однако эти запросы необходимо кэшировать аппаратным TLB ЦПУ.

См. Ulrich Drepper's What Every Programmer Should Know About Memory для получения дополнительной информации об этом материале.

Смежные вопросы