लिनक्स - क्या सॉफ्टवेयर के माध्यम से आपकी मेमोरी की गति को पहचानने का कोई तरीका है?


9

क्या सॉफ्टवेयर के माध्यम से आपकी मेमोरी की गति को पहचानने का कोई तरीका है? मैं फेडोरा 9 पर हूं और वर्तमान में वहां मौजूद डीआईएमएम की गति का पता लगाना चाहता हूं।

मैंने एक 'lshw' की कोशिश की है, लेकिन यह गति प्रदर्शित नहीं करता है। मुझे पता है कि मदरबोर्ड 3 अलग-अलग गति का समर्थन करता है, लेकिन मुझे नहीं पता कि वहाँ क्या है और न ही बॉक्स को बंद करना चाहते हैं।

कोई विचार?

धन्यवाद,

संपादित करें: मैंने पाया है RAM dmidecode के अनुसार '30 ns 'है। यह 33 मेगाहर्ट्ज कैसे हो सकता है यदि बोर्ड केवल 400, 533, 667 मेगाहर्ट्ज रैम का समर्थन करता है?

EDIT 2: क्या ऐसा करने के लिए कोई अन्य उपकरण हैं?



EDIT 3: मैंने वास्तव में आत्मसमर्पण कर दिया और कुछ मिनटों के लिए सत्ता समाप्त कर दी और मामले को खोल दिया। यह 667 MhZ निकला - यह मॉडल: http://www.directron.com/rm12864aa667.html । वास्तव में यह पता लगाने में सक्षम नहीं होने के बावजूद कि यह सॉफ्टवेयर के माध्यम से 667 था, मैंने एचडी के उत्तर को सही के रूप में चिह्नित किया है जो कि नौकरी के लिए सबसे अच्छा उपकरण लगता है।




यहाँ demidecode --type मेमोरी का आउटपुट है

# dmidecode 2.7
SMBIOS 2.4 present.

Handle 0x0008, DMI type 5, 20 bytes.
Memory Controller Information
    Error Detecting Method: 64-bit ECC
    Error Correcting Capabilities:
        None
    Supported Interleave: One-way Interleave
    Current Interleave: One-way Interleave
    Maximum Memory Module Size: 1024 MB
    Maximum Total Memory Size: 2048 MB
    Supported Speeds:
        70 ns
        60 ns
        50 ns
    Supported Memory Types:
        DIMM
        SDRAM
    Memory Module Voltage: 3.3 V
    Associated Memory Slots: 2
        0x0009
        0x000A
    Enabled Error Correcting Capabilities:
        None

Handle 0x0009, DMI type 6, 12 bytes.
Memory Module Information
    Socket Designation: DIMM0
    Bank Connections: 9 11
    Current Speed: 30 ns
    Type: Unknown FPM Parity SDRAM
    Installed Size: 1024 MB (Single-bank Connection)
    Enabled Size: 1024 MB (Single-bank Connection)
    Error Status: OK

Handle 0x000A, DMI type 6, 12 bytes.
Memory Module Information
    Socket Designation: DIMM1
    Bank Connections: 9 11
    Current Speed: 30 ns
    Type: Unknown FPM Parity SDRAM
    Installed Size: 1024 MB (Single-bank Connection)
    Enabled Size: 1024 MB (Single-bank Connection)
    Error Status: OK

Handle 0x002F, DMI type 16, 15 bytes.
Physical Memory Array
    Location: System Board Or Motherboard
    Use: System Memory
    Error Correction Type: None
    Maximum Capacity: 4 GB
    Error Information Handle: Not Provided
    Number Of Devices: 2

Handle 0x0031, DMI type 17, 27 bytes.
Memory Device
    Array Handle: 0x002F
    Error Information Handle: Not Provided
    Total Width: 64 bits
    Data Width: 64 bits
    Size: 1024 MB
    Form Factor: DIMM
    Set: None
    Locator: DIMM0
    Bank Locator: BANK0
    Type: SDRAM
    Type Detail: Synchronous
    Speed: Unknown
    Manufacturer: Manufacturer0
    Serial Number: SerNum0
    Asset Tag: AssetTagNum0
    Part Number: PartNum0

Handle 0x0033, DMI type 17, 27 bytes.
Memory Device
    Array Handle: 0x002F
    Error Information Handle: Not Provided
    Total Width: 64 bits
    Data Width: 64 bits
    Size: 1024 MB
    Form Factor: DIMM
    Set: None
    Locator: DIMM1
    Bank Locator: BANK1
    Type: SDRAM
    Type Detail: Synchronous
    Speed: Unknown
    Manufacturer: Manufacturer1
    Serial Number: SerNum1
    Asset Tag: AssetTagNum1
    Part Number: PartNum1

वेंडर किस मशीन से है? आप इसे अपनी साइट पर नहीं देख सकते हैं?
एमडीएमरा

नहीं, इसकी एक कस्टम निर्मित मशीन
बारफून

जवाबों:


18

dmidecode वह उपकरण है जिसकी आप तलाश कर रहे हैं।


यहाँ बहुत सारी जानकारी है - लेकिन गति एनएस में है, मुझे मेगाहर्ट्ज में गति चाहिए?
बारफून

मेरे dmidecode मुझे ns और MHz में गति प्रदान करता है, लेकिन यदि आवश्यक हो तो कुछ सेकंड के अंकगणित (या रनिंग यूनिट) रूपांतरण करेगा।
Womble


1
तो 30 एनएस मेमोरी = 33 मेगाहर्ट्ज? क्या मेरा गणित वहां सही है? 1 / (30 / 1,000,000) = हर्ट्ज में गति
बारफून

3
@बारफून: हां, 30ns == 33MHz। MHz में त्वरित गणना 1000 / (ns) == गति है।
वोमबल

13

मेरे डेबियन पर, lshw ने मुझे वह जानकारी दी।

# lshw -version
B.02.13
# lshw -short -C memory
H/W path             Device     Class       Description
=======================================================
/0/1                            memory      128KiB BIOS
/0/5/6                          memory      20KiB L1 cache
/0/5/7                          memory      1MiB L2 cache
/0/27                           memory      System Memory
/0/27/0                         memory      256MiB DIMM DDR Synchronous 400 MHz (2.5 ns)
/0/27/1                         memory      256MiB DIMM DDR Synchronous 400 MHz (2.5 ns)
/0/27/2                         memory      256MiB DIMM DDR Synchronous 266 MHz (3.8 ns)
/0/27/3                         memory      256MiB DIMM DDR Synchronous 400 MHz (2.5 ns)
/0/28                           memory      Flash Memory
/0/28/0                         memory      512KiB Chip FLASH Non-volatile
/0/0                            memory      
/0/2                            memory      

यह बहुत अच्छा है, लेकिन मेरे संस्करण में यह विवरण के तहत गति नहीं दिखाता है। वैसे भी धन्यवाद,
barfoon

2

क्या आप मेमोरी अनुभाग के लिए dmidecode का अपना आउटपुट पोस्ट कर सकते हैं? ( dmidecode --type मेमोरी )

आप इस पढ़ने के लिए चाहते हो सकता है: http://www.howtoforge.com/dmidecode-finding-out-hardware-details-without-opening-the-computer-case

"एनएस" संदर्भ "नैनोसेकंड" जिस गति से स्मृति उत्तर देने में सक्षम है। संख्या जितनी कम होगी गति उतनी ही तेज होगी। दुर्भाग्य से यह एक सटीक Mhz संख्या का संदर्भ नहीं देता है। DMIDECODE मेगाहर्ट्ज के रूप में अच्छी तरह से उत्पादन करने के लिए माना जाता है। आउटपुट के बहुत नीचे की जाँच करें या बस dmidecode --type मेमोरी | grep Mhz


हो सकता है कि मैं सुझाव दूं कि आप अपने सत्यापन को dmidecode 2.8 या बाद में अपग्रेड करें। आप यहाँ rpm को पकड़ सकते हैं: icewalkers.com/rpm/dmidecode/fedora-core-9/download/… और सिर्फ rpm -i dmidecode * rpm Ver। 2.7 उस Mz को दिखाने का समर्थन नहीं करता है जिस पर आपकी मेमोरी चलती है।
डेविड रिकमैन

1

यदि आप वास्तव में मेमोरी की गति को बेंचमार्क करना चाहते हैं, तो आप इसे 32 बिट प्रोसेसर 386 संरक्षित मोड में नहीं कर सकते हैं क्योंकि पेज दोष और पेजेटेबल्स का लेआउट परिणामों में बहुत अधिक वजन करेगा।

आपका सबसे अच्छा दांव बेंचमार्क को 16 बिट "वास्तविक मोड" में कोडिंग करना है जहां आपके पास मेमोरी भौतिक पतों तक सीधी पहुंच है।

एक अच्छा बूटअप कोड जो आसानी से अनुकूलन योग्य हो सकता है, के लिए GRUB बूटलोडर स्टेज 1 स्रोत की जांच करें। स्टेज 1 एमबीआर है जो आपकी हार्ड डिस्क के पहले 512 बाइट्स में रहता है। आप इसे स्रोत निर्देशिका स्टेज 1 / स्टेज 1 एस फ़ाइल में पाएंगे; यह भारी टिप्पणी है और आसानी से समझ में आता है।

एक बार जब आपके पास अपनी आवश्यकताओं के अनुरूप एमबीआर हो जाए, तो निम्नलिखित विधि का उपयोग करके इसे संकलित करें:

$ BOOT=mbr
$ gcc -O2 -fno-builtin -nostdinc -falign-jumps=1 -falign-loops=1 -falign-functions=1 -Wundef -g -c $BOOT.S
$ gcc  -g  -nostdlib -Wl,-N,-Ttext,7C00 -o $BOOT.exec  $BOOT.o  
$ objcopy -O binary $BOOT.exec $BOOT

अब आपके पास x86 MBR तैयार है। वास्तविक मशीन पर चलने से पहले अपने कोड को वर्चुअल मशीन जैसे किमू या बोक्स पर परीक्षण करना वांछनीय है; यह संकलन / डिबगिंग चक्र को भी कम करेगा।

आशा है ये मदद करेगा


1
मुझे लगता है कि वह सिर्फ यह जानना चाहता है कि मशीन को खोले बिना उसकी रैम को किस आवृत्ति पर रेट किया गया है।
एमडीएमरा

1

यदि आप वास्तव में भाग्यशाली हैं, तो आप जिस टूल की तलाश कर रहे हैं वह एक टॉर्च है। कुछ मेमोरी आप मामले को खोल सकते हैं और देख सकते हैं और एक स्टिकर देख सकते हैं जो लेबल पर है। पूरी तरह से आपके मामले पर निर्भर करता है, हालांकि इसे प्राप्त करना कितना आसान है, और जब तक आप वास्तव में वास्तव में सावधान रहें तब तक आपको मशीन को बंद करने की आवश्यकता नहीं है । मुझे नहीं पता कि मशीन इंटर्नल पर काम करने के साथ आप कितने अनुभवी हैं, लेकिन यह अगली चीज है जो मैं कोशिश करता हूं जब मैं यह पता लगाने के लिए लिनक्स सॉफ्टवेयर कमांड का उपयोग नहीं कर सकता हूं।


1

संपादित करें: मैंने पाया है RAM dmidecode के अनुसार '30 ns 'है। यह 33 मेगाहर्ट्ज कैसे हो सकता है यदि बोर्ड केवल 400, 533, 667 मेगाहर्ट्ज रैम का समर्थन करता है?

मैं अनुमान लगा रहा हूँ कि यह कुछ इस तरह है:

SIMM / DIMM पर प्रत्येक व्यक्ति चिप 30ns, या 33MHz पर चलती है। प्रति SIMM में 8 चिप्स हैं, इसलिए 8 x 33MHz = 266MHz; या DIMM में 16 चिप्स, 533 मेगाहर्ट्ज देता है।

इसलिए जबकि प्रत्येक चिप 33 मेगाहर्ट्ज पर चलती है, पूरे मेमोरी मॉड्यूल 533 मेगाहर्ट्ज पर डेटा वितरित कर सकते हैं।


मुझे विश्वास है कि यह उत्तर सबसे अधिक समझ में आता है, ive ने dmidecode के आउटपुट को ऊपर पोस्ट किया है
barfoon

दुर्भाग्य से यह इतना आसान नहीं है क्योंकि मैंने ऐसी चीज़ देखी है जिसकी रिपोर्ट की गई गति 30ns है और वास्तविक मेमोरी स्पीड 667MHz है ... इसलिए मैं निश्चित नहीं हूं कि उन दोनों के बीच एक स्पष्ट संबंध है।
olefebvre

@pgs - तुल्यकालिक नाटक उस तरह काम नहीं करता है। सभी चिप्स समानांतर में एक्सेस किए जाते हैं। यह अधिक संभावना है कि यह 30ns खाता पंक्ति और स्तंभ पता अक्षांशों को ध्यान में रखते हुए, पहले शब्द तक पहुंचने का कुल समय है। यहां तक ​​कि अगर पहले शब्द का उपयोग करने के लिए कुल 30ns लगते हैं, तो बाद के शब्दों को बहुत तेजी से बाहर आना चाहिए । आधुनिक सीपीयू कैश, शाखा भविष्यवाणी और अन्य अनुकूलन का उपयोग करके ऐसे विलंब को छिपाने के लिए बहुत प्रयास करता है।
मार्क बूथ

1

मुझे पता है कि यह थोड़ा देर से है, लेकिन:

यदि आप समर्थित समय लेते हैं, और उन्हें आधा करते हैं, तो वे 30 की दी गई दर के साथ फिट होते हैं। फिर यदि आप इसे आधा करते हैं और इसके द्वारा 10000 विभाजित करते हैं, (800, 666, 571.4)

मुझे पता नहीं क्यों, हालांकि मैं बात करता हूं कि समय और डेटा-दर के बीच संबंध जटिल हो सकता है; इसके अलावा, इनमें से एक दोहरी डेटा दर हो सकती है ।


1

बस स्पष्ट करने के लिए, अंत में आपके द्वारा देखी गई 33mhz मेमोरी आपकी बायोस मेमोरी है :)

    Type: Flash
    Type Detail: Non-Volatile
    Speed: 33 MHz
    Manufacturer: ATMEL

यदि आप एक बेहतर उपकरण का उपयोग करना चाहते हैं, तो lm_sensors ( https://wiki.archlinux.org/index.php/Lm_sensors ) और i2c- उपकरण ( https://www.archlinux.org/packages/name=i2c- ) स्थापित करें उपकरण )

फिर आप डिम-डेकोड के साथ अपनी मेमोरी के बारे में बहुत अधिक विवरण निर्दिष्ट कर सकते हैं (यहां आउटपुट का एक नमूना है):

Decoding EEPROM: /sys/bus/i2c/drivers/eeprom/0-0055
Guessing DIMM is in                             bank 6

---=== SPD EEPROM Information ===---
EEPROM CRC of bytes 0-116                       OK (0x4422)
# of bytes written to SDRAM EEPROM              176
Total number of bytes in EEPROM                 256
Fundamental Memory type                         DDR3 SDRAM
Module Type                                     RDIMM

---=== Memory Characteristics ===---
Fine time base                                  2.500 ps
Medium time base                                0.125 ns
Maximum module speed                            1066MHz (PC3-8533)
Size                                            16384 MB
Banks x Rows x Columns x Bits                   8 x 15 x 11 x 64
Ranks                                           4
SDRAM Device Width                              4 bits
tCL-tRCD-tRP-tRAS                               7-7-7-20
Supported CAS Latencies (tCL)                   8T, 7T, 6T

---=== Timing Parameters ===---
Minimum Write Recovery time (tWR)               15.000 ns
Minimum Row Active to Row Active Delay (tRRD)   7.500 ns
Minimum Active to Auto-Refresh Delay (tRC)      50.625 ns
Minimum Recovery Delay (tRFC)                   160.000 ns
Minimum Write to Read CMD Delay (tWTR)          7.500 ns
Minimum Read to Pre-charge CMD Delay (tRTP)     7.500 ns
Minimum Four Activate Window Delay (tFAW)       37.500 ns

---=== Optional Features ===---
Operable voltages                               1.5V, 1.35V
RZQ/6 supported?                                Yes
RZQ/7 supported?                                Yes
DLL-Off Mode supported?                         Yes
Operating temperature range                     0-95C
Refresh Rate in extended temp range             1X
Auto Self-Refresh?                              No
On-Die Thermal Sensor readout?                  No
Partial Array Self-Refresh?                     No
Thermal Sensor Accuracy                         0
SDRAM Device Type                               0

---=== Physical Characteristics ===---
Module Height (mm)                              30
Module Thickness (mm)                           4 front, 4 back
Module Width (mm)                               133.5
Module Reference Card                           F

---=== Registered DIMM ===---
# DRAM Rows                                     2
# Registers                                     2
Register manufacturer                           IDT
Register device type                            SSTE32882
Register revision                               0x61
Heat spreader characteristics                   00
SSTE32882 RC0/RC1                               00
SSTE32882 RC2/RC3                               50
SSTE32882 RC4/RC5                               50
SSTE32882 RC6/RC7                               00
SSTE32882 RC8/RC9                               00
SSTE32882 RC10/RC11                             00
SSTE32882 RC12/RC13                             00
SSTE32882 RC14/RC15                             00

---=== Manufacturer Data ===---
Module Manufacturer                             Samsung
DRAM Manufacturer                               Samsung
Manufacturing Location Code                     0x02
Manufacturing Date                              2011-W39
Assembly Serial Number                          xxx
Part Number                                     M393B2K70CM0-YF8

1
dimm-decode? मुझे लगता है कि आपका मतलब था decode-dimms। वैसे भी, यह मेरे लिए काम नहीं करता है: कहते हैं 0 SDRAM DIMM का पता लगाया गया था।
अंडरस्कोर_ड

0

यदि संभव हो तो मेमेस्ट, IIRC चलाने की कोशिश करें, यह ट्राउट के साथ-साथ ऊपरी बाएं कोने में मेमोरी स्पीड (20000MB / s @ 667MHz उदाहरण के लिए) दिखाता है।


0

डीडीआर sdram के साथ समय 8 से कई हैं और 2 से। मुझे जो याद है, उससे DDR का अर्थ है डबल डेटा दर (कृपया इसे जांचें, क्योंकि मुझे फिर से जांच करने की जानकारी नहीं मिली)। यह मेमोरी माध्य समय में दोनों तरीके (में और बाहर) स्थानांतरित करने में सक्षम है।

इसका कारण आसान है। डीडीआर दिए गए बस आवृत्ति की तुलना में दो बार तेज है। कृपया बस के लिए बस आवृत्ति और अंतरण दर क्षमता को भ्रमित न करें। बस आवृत्ति पर 32, 64, 128 या 256 बिट्स स्थानांतरित करती है। प्रति सेकंड १२ One बिट डेटा का एक सेट डेटा की एक बड़ी राशि है।

एक उदाहरण के रूप में: DDR400 बसों @ 200 मेगाहर्ट्ज पर पाया गया था। दूसरा नाम PC3200 है। 400 से 3200 तक प्राप्त करने के लिए, आपको एक कारक मिलेगा 8. यह कारक हमेशा डीडीआर (1/2/3/4 ...) को सत्यापित करता है।

निम्नलिखित लिंक मूल बातें पाने के लिए पर्याप्त है (और शायद मेरे स्पष्टीकरण से बेहतर और अधिक पूर्ण :))

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.