Siduction Forum > Scripting & Kernelhacking

[EN] new inxi feature: -m for system ram

(1/7) > >>

h2:
The latest version of inxi, 2.1.93 is now ready for testing. This features the -m option, for ram report. dmidecode is required, but inxi has improved error handling for dmidecode issues so any failures should be obvious now.

This version is close to the 2.2.0 final release but I thought I'd post for bugs/issues before switching to the 2.2 final.

Sample outputs:

--- Code: ---inxi -mxxx
Memory:  Array-1 capacity: 16 GB devices: 2 EC: No
           Device-1: ChannelA-DIMM0 size: 4096 MB speed: 1067 MHz type: DDR3 (Synchronous)
           bus width: 64 bits manufacturer: ELPIDA part: EBJ41UF8BCS0-DJ-F serial: 522C70BA
           Device-2: ChannelA-DIMM1 size: No Module Installed type: N/A
           Device-3: ChannelB-DIMM0 size: 2048 MB speed: 1067 MHz type: DDR3 (Synchronous)
           bus width: 64 bits manufacturer: ELPIDA part: EBJ20UF8BCS0-DJ-F serial: 55922ADE
           Device-4: ChannelB-DIMM1 size: No Module Installed type: N/A

Memory:  Array-1 capacity: 3 GB devices: 2 EC: No
           Device-1: SO DIMM 0 size: 256 MB speed: N/A type: DDR (Synchronous)
           bus width: 64 bits manufacturer: N/A part: N/A serial: N/A
           Device-2: SO DIMM 1 size: 1024 MB speed: N/A type: DDR (Synchronous)
           bus width: 64 bits manufacturer: N/A part: N/A serial: N/A


Memory:  Array-1 capacity: 8 GB devices: 4 EC: Single-bit ECC
           Device-1: DIMM0 size: 2048 MB speed: 1333 MHz type: DDR3 (Synchronous)
           bus width: 64 bits manufacturer: Samsung part: M378B5673FH0-CH9 serial: 65F1C07D
           Device-2: DIMM1 size: 2048 MB speed: 1333 MHz type: DDR3 (Synchronous)
           bus width: 64 bits manufacturer: Toshiba part: 9905471-001.A01LF serial: 2A1BA548
           Device-3: DIMM2 size: 1024 MB speed: 1333 MHz type: DDR3 (Synchronous)
           bus width: 64 bits manufacturer: Samsung part: M378B2873FHS-CH9 serial: 76046756
           Device-4: DIMM3 size: 2048 MB speed: 1333 MHz type: DDR3 (Synchronous)
           bus width: 64 bits manufacturer: Toshiba part: 9905471-001.A01LF serial: 2C1BA548
--- End code ---

-x shows part number, -xx shows serial number/manufactorer, and -xxx shows largely useless info like memory bus width and extra data for type.

This seems to be to about all the useful data you can grab from dmidecode, the array is Type 16, and the device is type 17. I looked into useing other types but they are very inconsistent and often not present so I stuck with 16 and 17. type 5 has a lot more information on the controller, for example, but you can't count on it being there. Type 6 gives current speed in nano seconds, as well as notes if double banked connection, maybe I will do more searches for that now that I think about it, and use that data if present, though it's good enough for now.

ReinerS:
Thank you h2 for the support and improvements! :)

I will test it asap and report if there are any problems.

regards

Reiner

Edit: hmm seems not yet available for me. Will try later again

h2:
I couldn't resist, now -x shows maximum module size, if the system has that data, most do not, and -xxx shows module voltage, again, most systems will probably not have it, some do, like my test system.

this is the svn inxi, the latest, not the repo, you have to chnage /etc/inxi.conf and set B_ALLOW_UPDATES=true to use -U for testing/debugging of new features.

melmarker:
@h2 - i uploaded the .94 instead of the totaly outdated .93 :P

hmm - dunno if i misinterpret the memory output, but it seems to be wrong
i have 4x8G - thats right, but i don't understand the first mem line

inxi -S -I -mxxxx                                                                                                                                             
System:    Host: razorbox Kernel: 3.16-0.towo-siduction-amd64 x86_64 (64 bit gcc: 4.9.1) Desktop: N/A dm: lightdm
           Distro: siduction 13.1.0 Firestarter - rqt - (201306021344)                                                                                                                                                   
Memory:    Array-1 capacity: 2 GB devices: 4 EC: No max module size: 1024 MB module voltage: 3.3 V                                                                                                                       
           Device-1: A0 size: 8192 MB speed: 1333 MHz type: N/A                                                                                                                                                         
           bus width: 64 bits manufacturer: N/A part: N/A serial: N/A                                                                                                                                                   
           Device-2: A1 size: 8192 MB speed: 1333 MHz type: N/A                                                                                                                                                         
           bus width: 64 bits manufacturer: N/A part: N/A serial: N/A                                                                                                                                                   
           Device-3: A2 size: 8192 MB speed: 1333 MHz type: N/A                                                                                                                                                         
           bus width: 64 bits manufacturer: N/A part: N/A serial: N/A                                                                                                                                                   
           Device-4: A3 size: 8192 MB speed: 1333 MHz type: N/A                                                                                                                                                         
           bus width: 64 bits manufacturer: N/A part: N/A serial: N/A                                                                                                                                                   
Info:      Processes: 240 Uptime: 1 day Memory: 2108.0/32180.1MB                                                                                                                                                         
           Init: systemd v: 210 runlevel: 5 default: 5 Gcc sys: 4.9.1 alt: 4.2/4.3/4.4/4.5/4.6/4.7/4.8                                                                                                                   
           Client: Shell (bash 4.3.221 running in bash) inxi: 2.1.94   

h2:
it's probably dmidecode being wrong.

If you run as root: dmidecode > dmidata.txt then attach that file, or run:

sudo inxi -xx@ 14
to upload it automatically I can tell you, but it's probably dmidecode being wrong, I have a laptop where it's wrong too, it says capacity of array is 1 gB, but there are 2 1 gB memory sticks installed.

Data from dmi depends on the vendors doing it right, and they very often do not. But your actual data can tell me that.

It uses DMI type 16 for the array, and DMI type 17 for the device data, and if present, DMI type 5 for the extra array data, like max module size and voltage.

If that data is wrong in dmiedecode, it will be wrong in inxi, that's the reason I don't like using stuff like dmidecode, I was hoping ram data would be available in /sys but it never appeared so I had to give up and rely on dmidecode.

Navigation

[0] Message Index

[#] Next page

Go to full version
Powered by Advanced Topic Prefix Pro
Powered by SMFPacks WYSIWYG Editor