Здравствуйте. Скорость обмена данных между процессором и оперативной памятью (ОЗУ) зависит от ее частоты.
Чем выше частота оперативной памяти, тем выше происходит обмен данными между процессором и ОЗУ и тем лучше будет производительность компьютера.
Перед заменой или добавлением новой планки оперативной памяти необходимо узнать какая оперативная память установлена сейчас.
Давайте рассмотрим, как проверить частоту оперативной памяти на компьютере стандартными средствами Windows и с помощью дополнительных программ.
- Как узнать частоту оперативной памяти в Windows
- Способ 1: Диспетчер задач Windows 10
- Способ 2: Командная строка CMD
- Как проверить частоту оперативной памяти программой
- Способ 3: AIDA64
- Способ 4: CPU-Z
- Способ 5: Частота ОЗУ в BIOS или UEFI
- Способ 6: Смотрим на планке ОЗУ
- Подведем итоги
- 2 комментариев к статье “ 6 способов как определить частоту оперативной памяти компьютера или ноутбука ”
- Измеряем на коленке пропускную способность памяти
- Цифры, которые должен знать каждый программист
- Задержка в 2020 году
- Наивный бенчмаркинг
- Большой блок
- Малый блок: последовательное чтение
- Малый блок: случайное чтение
- Выводы по произвольному доступу
- Связанные списки считаются вредными
- Оценка бюджета для фреймов
- Числа, которые должен знать каждый программист (2020)
- Отказ от ответственности
- Вывод
- Исходный код
- Дальнейшие исследования
- Спецификации системы
Видео:03. Основы устройства компьютера. Память и шина. [Универсальный программист]Скачать
Как узнать частоту оперативной памяти в Windows
Сначала покажу, как узнать частоту оперативной памяти средствами Windows 10 и через командную строку.
Способ 1: Диспетчер задач Windows 10
Чтобы определить частоту оперативной памяти в Windows 10, нужно открыть диспетчер задач.
Нажмите одновременно сочетание клавиш Ctrl+Shift+Esc как показано ниже.
Горячие клавиши ctrl+shift+esc
Откройте вкладку производительность — память. В правом нижнем углу будет указана частота ОЗУ — например, скорость 800 Мгц.
Диспетчер задач Windows 10 — частота оперативной памяти 800 Мгц
Вступайте в группу ВК — https://vk.com/ruslankomp Помогу решить проблему с вашим ПК или ноутбуком.
Способ 2: Командная строка CMD
Независимо от версии windows, узнать частоту оперативной памяти можно через командную строку.
Чтобы открыть командную строку нажмите Win+R одновременно.
Горячие клавиши Win+R
Введите cmd и нажмите Enter.
CMD — запуск командной строки
Чтобы показать текущую частоту оперативной памяти наберите команду и нажмите Enter:
Под строкой Speed будет указана частота планок ОЗУ.
Частота оперативной памяти в командной строке
Чтобы узнать расположение планок оперативной памяти по слотам, то введите команду:
- wmic memorychip get devicelocator, speed
и нажмите Enter для применения.
Подсказка! Чтобы не набирать вручную команду, скопируйте команду и вставьте в командную строку, нажав правой кнопкой мыши — вставить. Нажмите Enter.
Копируем команду и вставляем в командную строку правой кнопкой мыши
Таким же образом вы можете узнать другие параметры оперативной памяти, введя следующие команды:
- wmic memorychip get devicelocator, manufacturer — определение производителя ОЗУ;
- wmic memorychip get devicelocator, partnumber — сведения о номере каждого модуля памяти, присвоенный производителем;
- wmic memorychip get devicelocator, serialnumber — проверка серийного номера планки памяти;
- wmic memorychip get devicelocator, capacity — определение емкости каждого из установленного модуля памяти в байтах;
- wmic memorychip list full — отображение всей информации по оперативной памяти.
Видео:Как узнать частоту оперативной памяти компьютера или ноутбукаСкачать
Как проверить частоту оперативной памяти программой
Для определения частоты оперативной памяти будем использовать следующие программы:
- AIDA64 — программа платная, имеется бесплатный пробный период, при котором ограничений нет. Полностью на русском языке.
- CPU-Z — полностью бесплатная и простая в использовании программа. Имеется как английская, так и русская версия.
Способ 3: AIDA64
- Заходим в пункт Компьютер — DMI.
- В правом окне откройте ветку Устройства памяти и нажмите интересующую планку.
- Ниже увидите Максимальную и Текущую частоту в МГц.
Текущая частота оперативной памяти — 1333 Мгц
В AIDA64 частоту ОЗУ можно посмотреть другим способом.
- Откройте Компьютер — Разгон.
- В правом окне смотрите — Свойства набор микросхем.
- Как видно на моем примере одна планка имеет максимальную частоту 1600 Мгц, но так как вторая планка 1333 Мгц, обе работают на меньшей частоте 1333 Мгц.
DIMM1 макс. частота ОЗУ — 1600 Мгц, DIMM2 — 1333 Мгц
Если вы разгоняли частоту, то реальную частоту можно посмотреть в тесте Benchmark.
- Нажмите Сервис — Тест кэша и памяти.
- Далее нажмите Start Benchmark.
Запуск теста оперативной памяти для определения реальной частоты
Реальная частота будет указана в поле Memory Bus — 665,3 MHz. Это значение нужно умножить на 2 для получения корректного результата.
Реальная частота оперативной памяти 665,3*2=1330,6 Мгц
Чтобы посмотреть реальную и эффективную частоту оперативной памяти в AIDA64 нужно перейти.
- Системная плата — системная плата.
- В правом окне будет реальная частота и эффективная.
Реальная и эффективная частота ОЗУ в AIDA64
Способ 4: CPU-Z
Все необходимые параметры оперативки можно узнать с помощью программы CPU-Z — скачать русскую версию.
Распакуйте архив и запустите программу.
Откройте вкладку Память и смотрите:
- Тип оперативной памяти — DDR 2.
- Объем памяти — 4 гб.
- Частота памяти — 400 Мгц умножайте на 2, получится 800 Мгц.
Программа CPU-Z вкладка Память
На вкладке SPD можно увидеть:
- сколько слотов памяти используется, в моем случае два;
- объем каждой планки — 2048 Мб (2 Гб);
- тип памяти — DDR 2;
- максимальная пропускная способность 400 Мгц*2 = 800 Мгц;
- производителя модуля памяти — Transcend;
- число каналов — dual, что говорит о двухканальном режиме работы оперативки.
Читайте также: Шпоры по шинам огэ 2021
Программа CPU-Z вкладка SPD
Видео:Как узнать частоту оперативной памятиСкачать
Способ 5: Частота ОЗУ в BIOS или UEFI
Чтобы войти в BIOS компьютера нужно при включении нажимать с быстрым интервалом клавишу — Delete. На ноутбуке жмите — F2.
После того, как откроется BIOS или UEFI в зависимости от материнской платы, ищите пункт со словом Memory.
Частота оперативной памяти в BIOS — 2133 МГц
А вот как посмотреть частоту памяти в материнской плате ASUS с UEFI.
Частота оперативной памяти в UEFI — 1800 МГц
Видео:Как работает процессор: частоты, шины и т.д.Скачать
Способ 6: Смотрим на планке ОЗУ
Еще один вариант узнать, что за оперативная память стоит на компьютере, это открыть системный блок и посмотреть на наклейке оперативной памяти.
На самой планке напечатана информация: объем и частота. Например: 2 Гб и 1333 Мгц.
Частота оперативной памяти на наклейке — 1333 МГц
Видео:Как разогнать процессор и память? Гоним по шине и множителю.Скачать
Подведем итоги
- Если у вас Windows 10, самый простой способ, посмотреть частоту ОЗУ — в диспетчере задач.
- Если Windows 7, 8 или 10 используйте — командную строку.
- Более подробную информацию по оперативной памяти можете узнать в программе — Aida64.
- Также всю необходимую информацию по ОЗУ покажет — программа CPU-Z.
- В BIOS или UEFI можно не только узнать частоту оперативки, но и увеличить частоту.
- Ну и самый последний способ посмотреть характеристики — посмотреть на наклейке планки ОЗУ.
Используя данную информацию вы сможете:
- Определить частоту оперативной памяти любого компьютера или ноутбука.
- Правильно подобрать оперативную память для замены или увеличения объема.
Если у вас вылетает синий экран на компьютере, то вам поможет статья — как проверить оперативную память на ошибки.
Вступайте в группу ВК — https://vk.com/ruslankomp Помогу решить проблему с вашим ПК или ноутбуком!
Помогу решить проблему с ПК или ноутбуком. Вступайте в группу VК — ruslankomp
Видео:Виды видеопамяти и сколько её нужно? Какая нужна шина?Скачать
2 комментариев к статье “ 6 способов как определить частоту оперативной памяти компьютера или ноутбука ”
Оказывается все это время у меня оперативка работала на частоте 1333Мгц вместо 1600Мгц. Теперь надо разобраться как в биосе поставить, чтобы оператива заработала на 1600Мгц.
Хм, а если наклейки нет, то визуально не узнаешь?
Видео:Как узнать частоту оперативной памяти?Скачать
Измеряем на коленке пропускную способность памяти
Несколько недель назад в разговоре за обедом коллега пожаловался на какой-то медленный процесс. Он подсчитал количество сгенерированных байт, количество циклов обработки, и в конечном счёте, объём оперативной памяти. Коллега заявил, что современный GPU с пропускной способностью памяти более 500 ГБ/с съел бы его задачу и не подавился.
Мне показалось, что это интересный подход. Лично я раньше не оценивал задачи производительности с такой стороны. Да, я знаю о разнице в производительности процессора и памяти.
Я знаю, как писать код, который активно использует кэш. Знаю примерые цифры задержки. Но этого недостаточно, чтобы сходу оценить пропускную способность памяти.
Вот мысленный эксперимент. Представьте, что в памяти непрерывный массив из миллиарда 32-разрядных целых чисел. Это 4 гигабайта. Сколько времени займёт перебор этого массива и суммирование значений? Сколько байт в секунду может CPU считать из оперативной памяти? Непрерывных данных? Произвольного доступа? Насколько хорошо можно распараллелить этот процесс?
Вы скажете, что это бесполезные вопросы. Реальные программы слишком сложны, чтобы имел смысл такой наивный ориентир. Так и есть! Реальный ответ — «зависит от ситуации».
Тем не менее, я думаю, что этот вопрос стоит изучить. Я не пытаюсь найти ответ. Но думаю, что мы можем определить некоторые верхние и нижние границы, некоторые интересные точки в середине и что-то узнать в процессе.
Видео:Частота процессора, множитель и системная шинаСкачать
Цифры, которые должен знать каждый программист
Если вы читаете блоги по программированию, то наверняка сталкивались с «цифрами, которые должен знать каждый программист». Они выглядят примерно так:
Отличный список. Он всплывает на HackerNews как минимум раз в год. Каждый программист должен знать эти цифры.
Но эти цифры о другом. Задержка и пропускная способность не одно и то же.
Видео:Частота процессора или частота системной шины?Скачать
Задержка в 2020 году
Тот список составлен в 2012 году, а эта статья 2020 года, времена изменились. Вот цифры для Intel i7 со StackOverflow.
- L1 стал медленнее; 0,5 → 1,5 нс
- L2 быстрее; 7 → 4,2 нс
- Соотношение L1 и L2 намного уменьшилось; 2,5x против 14х (ого!)
- Кэш L3 теперь стал стандартом; от 12 до 40 нс
- Оперативная память стала быстрее; 100 → 60 нс
Не станем делать далекоидущие выводы. Непонятно, как были рассчитаны исходные цифры. Не будем сравнивать яблоки с апельсинами.
Читайте также: Список авто с can шиной
Вот некоторые цифры из wikichip по пропускной способности и размеру кэша моего процессора.
- Верхний предел производительности RAM
- Нижний предел
- Лимиты кэшей L1/L2/L3
Видео:Просто о сложном - тактовая частота процессора (CPU Clock)Скачать
Наивный бенчмаркинг
Проведём несколько тестов. Для замера пропускной способности я написал простенькую программу на C++. Очень приблизительно она выглядит так.
Некоторые детали опущены. Но вы поняли идею. Создать большой, непрерывный массив элементов. Разделить массив на отдельные фрагменты. Обработать каждый фрагмент в отдельном потоке. Накопить результаты.
Также нужно измерить случайный доступ. Это очень сложно. Я попробовал несколько способов, в итоге решил смешивать предварительно вычисленные индексы. Каждый индекс существует ровно один раз. Затем внутренний цикл перебирает индексы и вычисляет sum += nums[index] .
В расчёте пропускной способности я не рассматриваю память массива индексов. Считаются только байты, которые вносят свой вклад в общую сумму sum . Я не делаю бенчмарки своего железа, а оцениваю способность работать с наборами данных разных размеров и с разными схемами доступа.
Проведём тесты с тремя типами данных:
int — основное 32-разрядное целое число
matri4x4 — содержит int[16] ; помещается в 64-байтовую строку кэша
matrix4x4_simd — использует встроенные средства __m256i
Видео:Как посмотреть частоту на которой работает оперативная память в AIDA64! 2024Скачать
Большой блок
Мой первый тест работает с большим блоком памяти. Блок размером 1 ГБ из N элементов выделяется и заполняется небольшими случайными значениями. Простой цикл перебирает массив N раз, поэтому он обращается к памяти объёмом N ГБ для вычисления суммы int64_t . Несколько потоков разбивают массив, а каждый получает доступ к одинаковому количеству элементов.
Тада! На этом графике мы берём среднее время выполнения операции суммирования и преобразуем его из runtime_in_nanoseconds в gigabytes_per_second .
Довольно неплохой результат. int32 может последовательно считывать в одном потоке 11 ГБ/с. Он масштабируется линейно, пока не достигнет 38 ГБ/с. Тесты matrix4x4 и matrix4x4_simd быстрее, но упираются в тот же потолок.
Существует чёткий и очевидный потолок, сколько данных мы можем считывать из оперативной памяти в секунду. На моей системе это примерно 40 ГБ/с. Это соответствует современным спецификациям, перечисленным выше.
Судя по трём нижним графикам, случайный доступ медленный. Очень, очень медленный. Производительность однопоточного int32 составляет ничтожные 0,46 ГБ/с. Это в 24 раза медленнее, чем последовательное суммирование на скорости 11,03 ГБ/с! Тест matrix4x4 показывает лучший результат, потому что выполняется на полных кэш-линиях. Но он по-прежнему в четыре-семь раз медленнее, чем последовательный доступ, и достигает пика на уровне всего 8 ГБ/с.
Видео:Как узнать сколько памяти поддерживает материнкаСкачать
Малый блок: последовательное чтение
В моей системе размер кэша L1/L2/L3 для каждого потока составляет 32 КБ, 256 КБ и 2 МБ. Что произойдёт, если взять 32-килобайтный блок элементов и перебрать его 125 000 раз? Это 4 ГБ памяти, но мы всегда будем попадать в кэш.
Потрясающе! Однопоточная производительность аналогична чтению большого блока, около 12 ГБ/с. За исключением того, что на этот раз многопоточность пробивает потолок 40 ГБ/с. В этом есть смысл. Данные остаются в кэше, так что узкое место оперативной памяти не проявляется. Для данных, которые не поместились в кэш L3, действует тот же потолок около 38 ГБ/с.
Тест matrix4x4 показывает аналогичные результаты схеме, но ещё быстрее; 31 ГБ/с в однопоточном режиме, 171 ГБ/с в многопоточном.
Теперь давайте посмотрим на matrix4x4_simd . Обратите внимание на ось y.
matrix4x4_simd выполняется исключительно быстро. Он в 10 раз быстрее, чем int32 . На блоке 16 КБ он даже пробивает 1000 ГБ/с!
Очевидно, что это поверхностный синтетический тест. Большинство приложений не выполняют одну и ту же операцию с одними и теми же данными миллион раз подряд. Тест не показывает производительность в реальном мире.
Но урок понятен. Внутри кэша данные обрабатываются быстро. С очень высоким потолком при использовании SIMD: более 100 ГБ/с в однопоточном режиме, более 1000 ГБ/с в многопоточном. Запись данных в кэш происходит медленно и с жёстким лимитом около 40 ГБ/с.
Видео:🔧Проверь свою ОПЕРАТИВНУЮ ПАМЯТЬ, она работает не на все 100!Скачать
Малый блок: случайное чтение
Давайте сделаем то же самое, но теперь с произвольным доступом. Это моя любимая часть статьи.
Чтение случайных значений из RAM происходит медленно, всего 0,46 ГБ/с. Чтение случайных значений из кэша L1 очень быстрое: 13 ГБ/с. Это быстрее, чем скорость чтения последовательных данных int32 из RAM (11 ГБ/с).
Тест matrix4x4 показывает аналогичный результат по тому же шаблону, но примерно вдвое быстрее, чем int .
Произвольный доступ matrix4x4_simd безумно быстр.
Видео:Шина компьютера, оперативная память, процессор и мостыСкачать
Выводы по произвольному доступу
Произвольное чтение из памяти осуществляется медленно. Катастрофически медленно. Менее 1 ГБ/с для обоих вариантов теста int32 . В то же время произвольное чтение из кэша на удивление быстрое. Оно сравнимо с последовательным чтением из оперативной памяти.
Читайте также: Шины бриджстоун близзак vrx
Это нужно переварить. Произвольный доступ к кэшу сопоставим по скорости с последовательным доступом к RAM. Падение от L1 16 КБ до L2 256 КБ всего в два раза или меньше.
Думаю, что это повлечёт глубокие последствия.
Видео:Какая частота памяти нужна играм... или тайминги?Скачать
Связанные списки считаются вредными
Погоня за указателем (прыжки по указателям) — это плохо. Очень, очень плохо. Насколько снижается производительность? Смотрите сами. Я сделал дополнительный тест, который обёртывает matrix4x4 в std::unique_ptr . Каждый доступ проходит через указатель. Вот ужасный, просто катастрофический результат.
Последовательное суммирование значений за указателем выполняется со скоростью менее 1 ГБ/с. Скорость произвольного доступа с двойным пропуском кэша составляет всего 0,1 ГБ/с.
Погоня за указателем замедляет выполнение кода в 10-20 раз. Не позволяйте своим друзьям использовать связанные списки. Пожалуйста, подумайте о кэше.
Видео:ВЫБРАТЬ ОПЕРАТИВНУЮ ПАМЯТЬ? 7 вещей, которые НУЖНО ЗНАТЬ в 2017 + СКОЛЬКО + ЧАСТОТА + ТАЙМИНГИСкачать
Оценка бюджета для фреймов
Для разработчиков игр привычно устанавливать предел (бюджет) нагрузки на CPU и объём памяти. Но я никогда не видел бюджет пропускной способности.
У современных игр FPS продолжает расти. Сейчас он на уровне 60 FPS. VR работает на частоте 90 Гц. У меня игровой монитор на 144 Гц. Это потрясающе, так что 60 FPS кажется дерьмом. Я ни за что не вернусь к старому монитору. У киберспортсменов и стримеров Twitch мониторы 240 Гц. В этом году Asus представила на выставке CES монстра на 360 Гц.
У моего процессора верхний предел около 40 ГБ/с. Это кажется большой цифрой! Однако при частоте 240 Гц получается всего лишь 167 МБ на кадр. Реалистичное приложение может генерировать трафик 5 ГБ/с на частоте 144 Гц, а это всего 69 МБ на кадр.
Вот таблица с несколькими цифрами.
Мне кажется, полезно оценить проблемы с такой стороны. Это позволяет понять, что некоторые идеи неосуществимы. Достигнуть 240 Гц непросто. Это не случится само собой.
Видео:Влияние шин PCI-e и внутренней шины видеокарты на производительностьСкачать
Числа, которые должен знать каждый программист (2020)
Прошлый список устарел. Сейчас его необходимо обновить и привести в соответствие к 2020 году.
Вот несколько цифр для моего домашнего компьютера. Это смесь AIDA64, Sandra и моих бенчмарков. Цифры не дают полной картины и являются лишь отправной точкой.
Хорошо бы создать небольшой, простой опенсорсный бенчмарк. Какой-нибудь файл C, который можно запустить на настольных компьютерах, серверах, мобильных устройствах, консолях и т. д. Но я не тот человек, который напишет такой инструмент.
Видео:Как правильно выбрать оперативную память. Частота, тайминги, ранги, каналы, чипы. Самый полный гайд.Скачать
Отказ от ответственности
Измерить пропускную способность памяти сложно. Очень сложно. В моём коде наверняка есть ошибки. Много неучтённых факторов. Если у вас есть некое критическое замечание для моей методики, вероятно, вы правы.
В конечном счёте, я думаю, что это нормально. Это статья не о точной производительности моего десктопа. Речь о постановке проблем с определённой точки зрения. И о том, как научиться выполнять некоторые приблизительные математические расчёты.
Видео:Как настроить оперативную память если настройки авто кривыеСкачать
Вывод
Коллега поделился со мной интересным мнением о пропускной способности памяти GPU и производительности приложений. Это подтолкнуло меня к исследованию производительности памяти на современных компьютерах.
Для примерных расчётов вот некоторые цифры для современного десктопа:
- Производительность RAM
- Максимум: 45 ГБ/с
- В среднем, примерно: 5 ГБ/с
- Минимум: 1 ГБ/с
- Максимум (c simd): 210 ГБ/с / 80 ГБ/с / 60 ГБ/с
- В среднем, примерно: 25 ГБ/с / 15 ГБ/с / 9 ГБ/с
- Минимум: 13 ГБ/с / 8 ГБ/с / 3,5 ГБ/с
Примерные оценки соотносятся с производительностью matrix4x4 . Реальный код никогда не будет таким простым. Но для расчётов на салфетке это разумная отправная точка. Вам нужно скорректировать эту цифру исходя из шаблонов доступа к памяти в вашей программе, характеристик вашего оборудования и кода.
Тем не менее, самое важное — это новый способ думать о проблемах. Представление проблемы в виде байтов в секунду или байтов на кадр — ещё одна линза, через которую нужно смотреть. Это полезный инструмент на всякий случай.
Видео:Разгон частоты шины на китайском LGA2011 с помощью SetFSBСкачать
Исходный код
Дальнейшие исследования
Эта статья только слегка затронула тему. Вероятно, я не буду углубляться в неё. Но если это сделал, то мог бы охватить некоторые из следующих аспектов:
- Производительность записи
- Ложное совместное использование (false sharing)
- Производительность std::atomic (или её отсутствие)
- Счётчики производительности
- Производительность TLB
- Протоколы кэша
Спецификации системы
Тесты проводились на моём домашнем ПК. Только стоковые настройки, никакого разгона.
- ОС: Windows 10 v1903 build 18362
- CPU: Intel i7-8700k @ 3,70 ГГц
- RAM: 2×16 GSkill Ripjaw DDR4-3200 (16-18-18-38 @ 1600 МГц)
- Материнская плата: Asus TUF Z370-Plus Gaming
- Свежие записи
- Нужно ли менять пружины при замене амортизаторов
- Скрипят амортизаторы на машине что делать
- Из чего состоит стойка амортизатора передняя
- Чем стянуть пружину амортизатора без стяжек
- Для чего нужны амортизаторы в автомобиле
- Правообладателям
- Политика конфиденциальности
Автоподбор © 2023
Информация, опубликованная на сайте, носит исключительно ознакомительный характер