На голом железном сервере я могу получить скорость ОЗУ, выполнив:
dmidecode --type 17
Скорость: 2400 МГц
Настроенная тактовая частота: 2400 МГц
Однако на виртуальной машине вывод всегда один и тот же:
Скорость: неизвестно
Настроенная скорость памяти: неизвестно
Есть ли способ узнать или хотя бы приблизительно измерить скорость ОЗУ на виртуальной машине?
dmidecode считывает информацию из системного BIOS. Это может или не может поддерживаться или быть надежным на разных платформах, будь то физическое или виртуальное оборудование. Аппаратные средства серверов известных производителей, скорее всего, сообщат о поддерживаемой памяти от поставщика, в то время как недорогая рабочая станция с меньшей вероятностью сообщит какие-либо значимые данные в BIOS.
Если системная BIOS не сообщает информацию о DMI, вам понадобится инструмент, который может глубоко погрузиться в ваше конкретное оборудование, опросив концентратор контроллера памяти. Поскольку вы смотрите на виртуальное оборудование, его не будет, поскольку физический MCH будет закрыт уровнем виртуализации.
Остается бенчмаркинг. Существует множество утилит, которые измеряют производительность необработанной памяти. Они будут иметь очень разные измерения в зависимости от платформы виртуализации, ЦП, других нагрузок на хост и т. Д. Вы сможете получить базовое число и сможете сравнить его с тем же инструментом, запущенным на физической машине, чтобы оценить свои накладные расходы на виртуализацию. ЦП, кеш, виртуализация и другие факторы, вероятно, означают, что вы не сможете делать ставки на то, какой тип физической памяти установлен.
Где находится ваша виртуальная машина? Если это VMware, попробуйте этот
smbiosDump
Команда Powershell
Версия = PS Core 6
Get-ComputerInfo -Property CsTotalPhysicalMemory
Вам нужно будет установить Powershell Core 6 в вашей операционной системе Linux, Windows или MAC, если у вас нет одной из ОС, вам нужно будет использовать другой инструмент.