Назад | Перейти на главную страницу

Что такое режим работы с памятью?

Мне дали сервер x64 windows 2003, на котором я установил M $ Virtual server 2005 R2. Затем я создал образ, на котором запущен Server 2008 R2. Он работал очень медленно, поэтому я немного покопался в журналах событий и в итоге нашел эту статью: http://support.microsoft.com/kb/925477.

Я был в BIOS хост-сервера и изменил режим работы памяти на режим оптимизатора, а чередование узлов - на включено. К счастью, гостевая операционная система теперь работает намного быстрее (на мой взгляд, никакого реального конкретного тестирования).

Итак, установка, мой вопрос прост. Что я только что сделал? Чем больше я читаю в документации по управлению памятью, тем меньше понимаю. Может кто-нибудь объяснить, что такое режим работы памяти и что на самом деле означают различные настройки.

Похоже, у вас там есть сервер Dell! Некоторые документы:

http://support.dell.com/support/edocs/systems/pem/en/hom/html/syssetup.htm

Режим оптимизатора: «В режиме оптимизатора два контроллера памяти работают в параллельном 64-битном режиме для повышения производительности памяти.

Чередование памяти: «Если установлено значение Отключено (по умолчанию), используется NUMA. Если включено, применяется чередование памяти.

С этими настройками вы сделали две вещи:

  1. Настройте контроллер памяти для увеличения параллелизма.
  2. Настройте память так, чтобы она не использовала NUMA (банки памяти для конкретного процессора), а вместо этого использовала всю память, как если бы она была локальной.

Для вас это может быть арамейский, так что немного о том, что это значит. Новые серверы сконфигурированы с банками памяти для каждого процессора, что позволяет использовать так называемую NUMA (неоднородную архитектуру памяти (ссылка на сайт)). Это позволяет отдельным процессорам иметь разный объем локальной памяти и позволяет операционной системе (если она поддерживает NUMA) структурировать запущенные процессы, чтобы использовать локальную память для каждого процессора.

Для быстрого примера возьмем двухъядерный четырехъядерный сервер. Каждый четырехъядерный процессор имеет 8 ГБ оперативной памяти, что в общей сложности составляет 16 ГБ в системе. В системе NUMA операционная система знает, что процессы, выполняемые на одном четырехъядерном процессоре, имеют локальную память (более быстрая выборка), и что перемещение процессов между отдельными ядрами на одном процессоре не влияет на скорость доступа к памяти. Он также знает, что если процесс должен получить доступ к памяти в банке локальной памяти другого процессора, на это потребуется определенное количество времени.

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

Надеюсь, это поможет.

Я думаю, что выше сообщение перепутало "Чередование памяти" с "Чередование узлов" ...

Чередование узлов

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