Existe alguma maneira de identificar a velocidade da sua memória através do software? Estou no Fedora 9 e estou procurando descobrir a velocidade dos DIMMs que tenho atualmente.
Eu tentei um 'lshw', mas ele não exibe a velocidade. Sei que a placa-mãe suporta três velocidades diferentes, mas não sei o que há lá e não quero desligar a caixa.
Alguma ideia?
Obrigado,
EDIT: Eu encontrei o ram para ser '30 ns 'de acordo com dmidecode. Como pode ser 33 MHz se a placa suporta apenas 400, 533, 667 Mhz RAM?
EDIT 2: Existem outras ferramentas para fazer isso?
EDIT 3: Na verdade, eu me rendi e acabei desligando por alguns minutos e abrindo o caso. Acabou sendo 667 MhZ - este modelo: http://www.directron.com/rm12864aa667.html . Apesar de não ser capaz de descobrir que era 667 por meio de software, marquei a resposta de HD como a correta, pois parece ser a melhor ferramenta para o trabalho.
Aqui está a saída da memória - tipo de código de identificação de dados
# 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
linux
memory
diagnostic
barfoon
fonte
fonte
Respostas:
O dmidecode é a ferramenta que você está procurando.
fonte
No meu Debian, lshw me dá essa informação.
fonte
Você pode postar sua saída do dmidecode para a seção de memória? ( dmidecode --type memory )
Você pode ler isto: http://www.howtoforge.com/dmidecode-finding-out-hardware-details-without-opening-the-computer-case
O "NS" faz referência a "nanossegundo" a velocidade na qual a memória é capaz de responder. Quanto menor o número, mais rápida a velocidade. Infelizmente, isso não faz referência a um número exato de Mhz. O DMIDECODE também deve produzir o Mhz. Verifique na parte inferior da saída ou simplesmente dmidecode --type memory | grep Mhz
fonte
Se você realmente deseja comparar a velocidade da memória, não poderá fazê-lo em um modo protegido de processador de 32 bits 386, pois as falhas de página e o layout das tabelas de paginação pesarão muito nos resultados.
Sua melhor aposta é codificar a referência no "modo real" de 16 bits, onde você tem acesso direto aos endereços físicos da memória.
Para um bom código de inicialização que possa ser facilmente personalizável, verifique a fonte stage1 do carregador de inicialização GRUB. stage1 é o MBR que reside nos primeiros 512 bytes do seu disco rígido. Você o encontrará no arquivo stage1 / stage1.S do diretório de origem; é muito comentado e facilmente compreensível.
Depois de personalizar o MBR de acordo com suas necessidades, compile-o usando o seguinte método:
Agora você tem um x86 MBR pronto. É desejável testar seu código em uma máquina virtual como Qemu ou Bochs antes de executá-lo na máquina real; também facilitará o ciclo de compilação / depuração.
Espero que ajude
fonte
Se você tiver realmente sorte, a ferramenta que procura é uma lanterna. Um pouco de memória, você pode abrir o estojo, ver e ver um adesivo com o rótulo. Depende inteiramente do seu caso, porém, de como é fácil alcançá-lo, e você não precisa desligar a máquina desde que seja realmente muito REALMENTE cuidadoso. Não sei a sua experiência com o trabalho em máquinas internas, mas é a próxima coisa que tento quando não consigo usar os comandos do software Linux para descobrir isso.
fonte
Eu estou supondo que é algo como isto:
Cada chip individual em um SIMM / DIMM é executado em 30ns ou 33MHz. Existem 8 chips por SIMM, então 8 x 33MHz = 266MHz; ou 16 chips por DIMM, dando 533 MHz.
Assim, enquanto cada chip roda em 33 MHz, todo o módulo de memória pode fornecer dados em 533 MHz.
fonte
Eu sei que isso é um pouco tarde, mas:
Se você pegar os tempos suportados e reduzi-los pela metade, eles se ajustam à taxa especificada de 30. Então, se você reduzir pela metade e dividir 10000 por ela, dá (800, 666, 571,4)
Não sei por que, embora eu ache que a conexão entre horários e taxa de dados possa ser complicada; Além disso, um deles pode ser uma taxa de dados dupla .
fonte
Só para esclarecer, a memória de 33mhz que você vê no final é a sua memória bios :)
Se você deseja usar uma ferramenta melhor, instale lm_sensors ( https://wiki.archlinux.org/index.php/Lm_sensors ) e i2c-tools ( https://www.archlinux.org/packages/?name=i2c- ferramentas )
Então você pode obter muito mais detalhes específicos sobre sua memória com dimm-decode (aqui está uma amostra da saída):
fonte
dimm-decode
? Eu acho que você quis dizerdecode-dimms
. Enfim, isso não funciona para mim: diz que 0 DIMMs SDRAM foram detectados.Se possível, tente executar o Memtest, IIRC, que mostra a calha e a velocidade da memória no canto superior esquerdo (20000MB / s @ 667MHz, por exemplo).
fonte
Os tempos com sdram DDR são múltiplos de 8 E de 2. Pelo que me lembro, DDR significa Double Data Rate (por favor, verifique isto, porque não encontrei as informações para verificar novamente). Essa memória é capaz de transferir os dois sentidos (entrada e saída) nesse meio tempo.
O motivo é fácil. O DDR é cronometrado duas vezes mais rápido que a frequência de barramento especificada. Por favor, não confunda a frequência do barramento e a capacidade da taxa de transferência do barramento. O barramento transfere 32, 64, 128 ou 256 bits na frequência do barramento. Um conjunto de 128 bits de dados POR CICLO é uma quantidade enorme de dados.
Como exemplo: DDR400 foi encontrado em barramentos a 200 MHz. O outro nome é PC3200. Para ir de 400 a 3200, você encontrará um fator 8. Esse fator é SEMPRE verificado independentemente do DDR (1/2/3/4 ...)
O link a seguir é bom o suficiente para entender o básico (e provavelmente melhor e mais completo que minhas explicações :))
fonte