Як комп'ютер / ОС може сказати, яка оперативна пам'ять є в машині?


81

Як Mac OS X може сказати, яка оперативна пам'ять є в машині? Наприклад, я працював над тим, у якого була оперативна пам’ять DDR3 при 1600 МГц, і я думав, що не вдалося пізнати оперативну пам’ять, не відкриваючи фізично корпус і дивлячись на нього. Як це можна зробити в інших системах?


6
Примітка. Я видалив коментарі, оскільки вони нікуди не йшли. Ви можете використовувати Супер Користувач Чат для обговорення.
slhck

@Celeritas: я відкрутив останню редакцію. Питання, чому розробник / виробник вирішив додати або пропустити функцію свого продукту, не є конструктивним .
Каран

@Karan Мені було цікаво, чи апаратне забезпечення Mac чи ОС якимось чином відрізняється від апаратного забезпечення Windows, що полегшує визначення типу оперативної пам'яті. Здається, вбудована в ОС корисна функція, щоб люди знали, яку оперативну пам’ять отримати, якщо хочуть оновити. Ви можете відредагувати питання так, щоб відобразити те, що я вам щойно сказав, але переробити його, щоб воно краще підходило.
Селерітас

1
Оскільки ви вже запитували, чи можна це зробити в Windows, і ви отримали відповіді, які розповідають вам, як зрозуміло, немає принципової різниці в апараті, яка не дозволяє Windows відображати інформацію, якщо вона хоче (дані SPD, як ви бачили нижче, зберігаються на модулі оперативної пам’яті та є доступною для будь-якої ОС / програми, яка прагне її прочитати). Крім цього, немає сенсу обговорювати, чому саме MS вирішують цього не робити, навіть якщо це корисно для кінцевих користувачів.
Каран

Шина i2c - це стандарт, з яким може працювати інтерфейс будь-якої ОС. SPD представляє собою 128-байтовий, 256-байтний або 512-байтний EEPROM. ОС просто потрібно зібрати ці байти, які підкоряються іншому стандарту під назвою JEDEC, з EEPROM за допомогою i2c, а потім використовувати ці дані, щоб зрозуміти, про яку пам'ять йде мова. Це дуже агностик ОС.
LawrenceC

Відповіді:


147

Пам'ять оперативної пам’яті має невеликий мікросхем, який називається Serial Presence Detect , який містить інформацію, таку як ємність, бажані терміни, виробник і навіть серійний номер.

Інформація про SPD доступна для OS, використовуючи шину i2c (яка також включає такі речі, як датчики температури). Я думаю, що ви можете безпосередньо читати SPD з Linux, використовуючи різні утиліти i2c.

Це зображення зі статті Вікіпедії має гарне уявлення про нього: е


2
У Linux dmidecode --type memoryдозволяє переглядати деяку інформацію. Мабуть, він може вивести виробника та серійний номер, але принаймні у моїй системі про них повідомляється просто ManufacturerNта SerNumNз Nтим, що, як видається, є номером слота.
CVn

2
Я подумав, що dmidecodeрозібрав щось, що BIOS з'єднує під час завантаження. BIOS повинен прочитати SPD і відповідно доповісти - помилкові BIOS не є нічого нового.
LawrenceC

1
+1 за єдину відповідь, в якій згадується SPD
Jonathon Reinhart

1
Мені здається, був час, коли палички оперативної пам’яті не мали чіпів SPD ... Принаймні, я чітко пам’ятаю перегляд прайс-листів на ОЗУ, де позиції були чітко позначені як SPD та non-SPD (це було приблизно в час впровадження стандарту DIMM)
Михайло

1
@Mikhail так, SIMM мали 4 штифти для "виявлення презентації" - їх було витягнуто високо або низько, щоб забезпечити ідентифікатор, що вказує розмір та швидкість. ohlandl.ipv7.net/config/mempresence.html
ali1234

47

У 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-адрес на NIC. ОЗУ також має код виробника. Отже, все, що вам потрібно зробити, щоб отримати їх код, наприклад, мій 2 х2 Гб на цьому ноутбуці є 830B, це створити базу даних для виробників (830B може бути однією маркою, а потім перепродавати!), А також які моделі означають що. Я вважаю, саме так працює CPUz - основні запити та дійсно повна та поточна база даних.


3
Зауважте, що WMI може запитувати інформацію про DMI / SMBus, але це не її реалізація Windows . Крім того, dmidecodeякий суто запитує та декодує інформацію DMI, доступна і як порт Windows .
syneticon-dj

@ syneticon-dj Я не впевнений, що ти щось тут додав, і твій погляд неясний. WMI - це інструмент управління Windows, серед його можливостей і обов'язків - читання SMBUS. Але якщо Ваша думка полягала в тому, що всі анорки - це бінки, але не всі вони - анорки ... то так, точно ...?
Остін Т французький

Моя думка полягає в тому, що ваше формулювання є неточним до моменту, коли його легко зрозуміти. WMI може взаємодіяти з SMBIOS, але це не стосується його реалізації (що знаходиться на апаратній / BIOS стороні, а не в ОС).
syneticon-dj

Це говорить: "WMI - це реалізація Windows стандарту SMBus для пристроїв читання". І це спосіб Windows читати / запитувати і знати, що знаходиться всередині ... Але WMI також робить набагато більше.
Остін Т французький

2
@ syneticon-dj - внесіть правки, якщо це неправильно.
Енігма

18

Швидкість і тип пам’яті узгоджуються з біос і можуть бути прочитані операційною системою.

На веб-сайті http://www.computermemoryupgrade.net/index1.html є дуже хороший веб-сайт, який дає вам глибший рівень розуміння цих речей.

Але ви можете легко зрозуміти, які типи та швидкість у вас є, не відкриваючи кришку за допомогою:

Apple -> Про цей Mac -> Детальніше -> Системний звіт

Відкрийте Обладнання -> Пам'ять

Ви повинні бачити кожну палицю оперативної пам’яті, включаючи розмір, тип і швидкість (і для розваги, статус, щоб переконатися, що це нормально)

Системний звіт із пам'яттю


13

У багатьох дистрибутивах 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)

Я здогадуюсь, що ОЗУ, як і все інше обладнання, звітує про свій опис та можливості в ОС. Якщо Linux може це зробити, я не бачу причини, чому OSX не може.

Якщо у вашому дистрибутиві не встановлено lshw, ви можете встановити його за допомогою менеджера пакунків, наприклад

aptitude install lshw

або завантажити з веб-сайту проекту.


FYI, lshwнедоступний на OS X:
slhck

@ b.long Knejerk реакція, оскільки питання позначено тегом win / osx, але не Linux?
Dan Neely

Дійсно, вибачте з цього приводу - я не прочитав все питання (чи, мабуть, заголовок). Я думав, що це запитує про будь-яку ОС
вибух

@slhck Моє погано, я просто здійснив швидкий пошук в Google OSX lshwі побачив цю публікацію на веб-сайті Apple, і я припустив, що він існує для OSX, не читаючи публікації, про яку йдеться. (червоніти). У будь-якому разі, моя думка тут полягала в тому, що якщо Linux може бачити тип оперативної пам’яті, чому не повинен OSX?
тердон


4

Пам'ять оперативної пам’яті зберігає час, швидкість та тип невеликого чіпа на палиці. Як ваш комп'ютер знає, як швидко запустити оперативну пам’ять, не пошкодивши її дані? Та сама фішка. Apple просто вирішує відображати ці дані.


3
Це називається SPD - Serial Prete Detect .
Девід Шварц

Перше речення не має великого сенсу.
CVn

2
Що з цього не має сенсу? Має сенс для мене, і це перша скарга, яку я отримав.
MarcusJ

2

Щоб доповнити відповідь 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

1

Speccy - це програмне забезпечення для Windows, яке розкаже вам багато речей про ваш комп'ютер, включаючи тип / розмір оперативної пам’яті / загальні слоти / доступні слоти.


2
Раніше я використовував CPU-Z для отримання такої інформації на машинах Windows - це дає дуже детальну інформацію про процесор, оперативну пам’ять та навіть більше. Він невеликий та акуратний та регулярно оновлюється.
Михайло
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.