Мне дали сервер 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. Если включено, применяется чередование памяти.
С этими настройками вы сделали две вещи:
Для вас это может быть арамейский, так что немного о том, что это значит. Новые серверы сконфигурированы с банками памяти для каждого процессора, что позволяет использовать так называемую NUMA (неоднородную архитектуру памяти (ссылка на сайт)). Это позволяет отдельным процессорам иметь разный объем локальной памяти и позволяет операционной системе (если она поддерживает NUMA) структурировать запущенные процессы, чтобы использовать локальную память для каждого процессора.
Для быстрого примера возьмем двухъядерный четырехъядерный сервер. Каждый четырехъядерный процессор имеет 8 ГБ оперативной памяти, что в общей сложности составляет 16 ГБ в системе. В системе NUMA операционная система знает, что процессы, выполняемые на одном четырехъядерном процессоре, имеют локальную память (более быстрая выборка), и что перемещение процессов между отдельными ядрами на одном процессоре не влияет на скорость доступа к памяти. Он также знает, что если процесс должен получить доступ к памяти в банке локальной памяти другого процессора, на это потребуется определенное количество времени.
То, что вы сделали с настройкой BIOS, было, по сути, выключить NUMA. Чередование памяти означает, что сродство памяти к процессору не сохраняется, поэтому любой доступ к памяти будет дорогостоящим. Это компенсируется включением режима оптимизатора, что означает, что доступ к памяти может быть обработан. в параллели таким образом, чередующаяся память будет обслуживаться намного быстрее, чем позволяет последовательный доступ.
Надеюсь, это поможет.
Я думаю, что выше сообщение перепутало "Чередование памяти" с "Чередование узлов" ...
Чередование узлов отключает свойства архитектуры NUMA системы. Все операционные системы, поддерживаемые этой платформой, поддерживают архитектуру NUMA. В большинстве случаев оптимальную производительность можно получить, отключив чередование узлов. Когда этот параметр включен, адреса памяти чередуются в памяти, установленной для каждого процессора, и при некоторых рабочих нагрузках может повыситься производительность.