Как Mac OS X может определить, какая память находится в машине? Например, я работал над тем, у которого была оперативная память DDR3 с частотой 1600 МГц, и я думал, что невозможно узнать ОЗУ, не открыв корпус и не посмотрев на него.Как это можно сделать в других системах?
8 ответов
На RAM-флешках есть небольшой чип, называемый Serial Presence Detect, который содержит такую информацию, как емкость, предпочтительные тайминги, производитель и даже серийный номер.
Информация SPD доступна операционным системам, использующим шину i2c (которая также включает такие элементы, как датчики температуры). Я думаю, что вы можете напрямую читать SPD из Linux, используя различные утилиты i2c.
Это изображение из статьи в Википедии имеет хорошую картину этого:
В Windows:
wmic memoryChip get /?
Предоставит вам различную информацию ОЗУ, которую вы можете запросить прямо из командной строки.
Например,
wmic memorychip get serialnumber
Дает вам серийный номер. Вы также можете использовать Speed
, Model
иногда, Manufacturer
и многое другое.
WMI - это метод Windows для запроса данных SMBIOS . Apple, Linux, Windows и все, кто хочет работать на большинстве аппаратных средств, должны поддерживать SMBIOS на некотором уровне по разным причинам.
Вы можете использовать SMBIOS (например, через WMI или WMIC в Windows), чтобы также собирать информацию о жестком диске, информацию о сети (это карта 10/100 или 10/100/1000?).
Чтобы сделать еще один шаг вперед, у каждого производителя есть код для MAC-адресов на сетевых картах. RAM также имеет код производителя. Поэтому все, что вам нужно сделать, чтобы получить их код, например, мои 2 x2 ГБ в этом ноутбуке - 830B, - это создать базу данных для производителей (830B может быть одной торговой марки, а затем перепродаваться!) а также какие модели означают что. Я полагаю, что именно так работает CPUz - базовые запросы и действительно полная и актуальная база данных.
Скорость и тип памяти согласовываются с BIOS и могут быть прочитаны операционной системой.
На http://www.computermemoryupgrade.net/index1.html есть очень хороший веб-сайт, который дает вам более глубокий уровень понимания этих вещей.
Но вы можете легко определить, какие типы и скорость у вас есть, не открывая крышку, с помощью:
Apple -> Об этом Mac -> Подробнее -> Системный отчет
Открытое оборудование -> Память
Вы должны увидеть каждую флешку RAM, включая Размер, Тип и Скорость (и для интереса, Статус, чтобы убедиться, что все в порядке)
Во многих дистрибутивах Linux (например, Debian) вы можете использовать аппаратный список lshw
sudo lshw |grep DDR
description: SODIMM DDR3 Synchronous 1067 MHz (0.9 ns)
description: SODIMM DDR3 Synchronous 1067 MHz (0.9 ns)
Я предполагаю, что RAM, как и все остальное оборудование, сообщает о своем описании и возможностях ОС. Если Linux может сделать это, я не вижу причин, почему OSX не может.
Если в вашем дистрибутиве не установлен lshw, вы можете установить его с помощью менеджера пакетов, например
aptitude install lshw
или загрузите его с веб-сайта проекта.
На Mac OS X запускается из терминала:
$ system_profiler SPMemoryDataType
ОЗУ хранит данные о времени, скорости и типе на небольшом чипе. Как ваш компьютер знает, как быстро запустить оперативную память без повреждения данных? Тот же чип. Apple просто выбирает отображение этих данных.
В дополнение ответ ultrasawblade, в на Linux, чтобы декодировать данные SPD, вы можете использовать decode-dimms
perl
скрипт из i2c-инструментов:
sudo modprobe -a i2c-i801 eeprom
decode-dimms
Или для оригинального HTML-формата:
decode-dimms -f | w3m -T text/html
(w3m - текстовый браузер / пейджер). Или конечно:
decode-dimms -f > dimms.html
xdg-open dimms.html
Speccy - это программа для Windows, которая расскажет вам много разных вещей о вашем компьютере, включая тип ОЗУ / размер / общее количество слотов / доступные слоты.