Welcome, Guest. Please login or register.
Did you miss your activation email?

Author Topic: [EN] new inxi feature: -m for system ram  (Read 20849 times)

Offline h2

  • User
  • Posts: 64
    • smxi.org
[EN] new inxi feature: -m for system ram
« on: 2014/08/13, 22:00:12 »
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: [Select]
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

-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.

Online ReinerS

  • User
  • Posts: 1.061
Re: new inxi feature: -m for system ram
« Reply #1 on: 2014/08/13, 22:53:40 »
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
« Last Edit: 2014/08/13, 23:08:53 by ReinerS »
slackware => SuSE => kanotix => sidux => aptosid  => siduction

Offline h2

  • User
  • Posts: 64
    • smxi.org
Re: new inxi feature: -m for system ram
« Reply #2 on: 2014/08/13, 23:18:11 »
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.

Offline melmarker

  • User
  • Posts: 2.799
    • g-com.eu
Re: new inxi feature: -m for system ram
« Reply #3 on: 2014/08/13, 23:19:14 »
@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   
« Last Edit: 2014/08/13, 23:39:02 by melmarker »
Those who would give up essential Liberty, to purchase a little temporary Safety, deserve neither Liberty nor Safety. (Benjamin Franklin, November 11, 1755)
Never attribute to malice that which can be adequately explained by stupidity. (Hanlons razor)

Offline h2

  • User
  • Posts: 64
    • smxi.org
Re: new inxi feature: -m for system ram
« Reply #4 on: 2014/08/13, 23:39:03 »
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.

Offline h2

  • User
  • Posts: 64
    • smxi.org
Re: new inxi feature: -m for system ram
« Reply #5 on: 2014/08/13, 23:50:29 »
I'll get some more data samples, but I may have to get rid of the -x/-xx items for the array, I have new sample where they do not match, and type 5 appears to be wrong.

This is always a very empircal process since nobody who makes hardware follows rules consistently enough to let us simply know when things are usable or not.

Offline melmarker

  • User
  • Posts: 2.799
    • g-com.eu
Re: new inxi feature: -m for system ram
« Reply #6 on: 2014/08/13, 23:55:25 »
file: inxi-razorbox-20140813-235447-all-root.tar.gz
/incoming
SUCCESS: file uploaded
Those who would give up essential Liberty, to purchase a little temporary Safety, deserve neither Liberty nor Safety. (Benjamin Franklin, November 11, 1755)
Never attribute to malice that which can be adequately explained by stupidity. (Hanlons razor)

Offline h2

  • User
  • Posts: 64
    • smxi.org
Re: new inxi feature: -m for system ram
« Reply #7 on: 2014/08/14, 00:06:37 »
Ok, I have more datasets, they show clearly that: type 5 can be wrong, and sometimes is.

They also show that type 16 can be, and sometimes is, wrong.

The only things that always seem to be right are type 17, the individual memory device item.

the data in Array-X can't be synthesized reliably from the type 17 data unfortunately, and it's often right.

So maybe the best thing to do is to somehow indicate not to trust the data in Array-X line. I believe the number of devices is almost always right, ie, how many slots etc exist, so probbly the voltage is right usually, so it's just the capacity/max module size that are in question. Hmmm, I can add up the installed memory as inxi calculates the data, and if it's greater than the listed capacity, / and or if the individual module sizes are greater than the listed max size, dump that and show an error message, maybe? like: 32 gB (est.)

While annoying, this is the exact type of issue I was hoping to find.

Offline h2

  • User
  • Posts: 64
    • smxi.org
Re: new inxi feature: -m for system ram
« Reply #8 on: 2014/08/14, 06:13:41 »
inxi 2.1.95 solves most of these failures with capacity/max size.

Doing this required a big rewrite of the core logic, now it does actual comparisons of the capacity data with number of devices times largest detected device size, plus some other logic.

Code: [Select]
# corrects bad max size reading, where max size is > than capacity, by removing max size
Memory:    Array-1 capacity: 2 GB devices: 2 EC: None module voltage: 2.9 V
           Device-1: DIMM 1 size: 1024 MB speed: 667 MHz type: DDR2 (Synchronous)
           bus width: 64 bits manufacturer: N/A part: N/A serial: N/A
           Device-2: DIMM 2 size: No Module Installed type: DDR2 (Synchronous)

# corrects wrong capacity and wrong max size, using max actual module size detected
# to generate a synthetic capacity.
Memory:    Array-1 capacity: 32 GB (est) devices: 4 EC: None
           max module size: 8192 MB (est.) 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

# dev system, no corrections since it was right
Memory:    Array-1 capacity: 8 GB devices: 4 EC: None max module size: 2048 MB module voltage: 3.3 V
           Device-1: DIMM0 size: 2048 MB speed: 400 MHz type: DDR2 (Synchronous)
           bus width: 64 bits (total: 72 bits) manufacturer: N/A part: N/A serial: N/A
           Device-2: DIMM1 size: 2048 MB speed: 400 MHz type: DDR2 (Synchronous)
           bus width: 64 bits (total: 72 bits) manufacturer: N/A part: N/A serial: N/A
           Device-3: DIMM2 size: 1024 MB speed: 400 MHz type: DDR2 (Synchronous)
           bus width: 64 bits (total: 72 bits) manufacturer: N/A part: N/A serial: N/A
           Device-4: DIMM3 size: 1024 MB speed: 400 MHz type: DDR2 (Synchronous)
           bus width: 64 bits (total: 72 bits) manufacturer: N/A part: N/A serial: N/A

when inxi now tries to generate its guesses, either it simply removes the item, or it says (est.) after it to let you know it's a synthesized number, deduced from various dmidecode values.

Also, keep in mind, if you use -m then certain other features inxi will not work since it's root, like most desktop id, and advanced graphics card data.
« Last Edit: 2014/08/14, 06:17:16 by h2 »

Offline ghstryder

  • User
  • Posts: 95
Re: new inxi feature: -m for system ram
« Reply #9 on: 2014/08/14, 07:36:22 »
Thanks, h2
It appears to be working fine here.
Code: [Select]
# inxi -S -I -mxxx
System:    Host: P690 Kernel: 3.16-0.towo-siduction-amd64 x86_64 (64 bit gcc: 4.9.1)
           Desktop: KDE 4.13.3 (Qt 4.8.6) info: plasma-desktop dm: lightdm                                           
           Distro: siduction 12.1 Desperado - kde - (201205212202)                                                   
Memory:    Array-1 capacity: 64 GB devices: 16 EC: Single-bit ECC                                                   
           Device-1: RISER 1 DIMM 1 size: 1024 MB speed: 667 MHz type: DDR2 FB-DIMM (Synchronous)                   
           bus width: 64 bits (total: 72 bits)                                                                       
           manufacturer: 80CE808980CE part: M395T2953EZ4-CE65 serial: 5116F501                                       
           Device-2: RISER 2 DIMM 1 size: 1024 MB speed: 667 MHz type: DDR2 FB-DIMM (Synchronous)                   
           bus width: 64 bits (total: 72 bits)                                                                       
           manufacturer: 80CE808980CE part: M395T2953CZ4-CE65 serial: 0327A4E8                                       
           Device-3: RISER 3 DIMM 1 size: 1024 MB speed: 667 MHz type: DDR2 FB-DIMM (Synchronous)                   
           bus width: 64 bits (total: 72 bits)                                                                       
           manufacturer: 80CE808980CE part: M395T2953CZ4-CE65 serial: 0327A5F9                                       
           Device-4: RISER 4 DIMM 1 size: 1024 MB speed: 667 MHz type: DDR2 FB-DIMM (Synchronous)                   
           bus width: 64 bits (total: 72 bits)                                                                       
           manufacturer: 80CE808980CE part: M395T2953CZ4-CE65 serial: 0327A458
           Device-5: RISER 1 DIMM 2 size: 2048 MB speed: 667 MHz type: DDR2 FB-DIMM (Synchronous)
           bus width: 64 bits (total: 72 bits)
           manufacturer: 80CE7FB380CE part: M395T5750EZ4-CE66 serial: 10115059
           Device-6: RISER 2 DIMM 2 size: 2048 MB speed: 667 MHz type: DDR2 FB-DIMM (Synchronous)
           bus width: 64 bits (total: 72 bits)
           manufacturer: 80CE7FB380CE part: M395T5750EZ4-CE66 serial: 1011505F
           Device-7: RISER 3 DIMM 2 size: 2048 MB speed: 667 MHz type: DDR2 FB-DIMM (Synchronous)
           bus width: 64 bits (total: 72 bits)
           manufacturer: 80CE7FB380CE part: M395T5750EZ4-CE66 serial: 1011508B
           Device-8: RISER 4 DIMM 2 size: 2048 MB speed: 667 MHz type: DDR2 FB-DIMM (Synchronous)
           bus width: 64 bits (total: 72 bits)
           manufacturer: 80CE7FB380CE part: M395T5750EZ4-CE66 serial: 10114FFE
           Device-9: RISER 1 DIMM 3 size: No Module Installed type: DDR2 FB-DIMM (Synchronous)
           bus width: 64 bits (total: 72 bits)
           Device-10: RISER 2 DIMM 3 size: No Module Installed type: DDR2 FB-DIMM (Synchronous)
           bus width: 64 bits (total: 72 bits)
           Device-11: RISER 3 DIMM 3 size: No Module Installed type: DDR2 FB-DIMM (Synchronous)
           bus width: 64 bits (total: 72 bits)
           Device-12: RISER 4 DIMM 3 size: No Module Installed type: DDR2 FB-DIMM (Synchronous)
           bus width: 64 bits (total: 72 bits)
           Device-13: RISER 1 DIMM 4 size: No Module Installed type: DDR2 FB-DIMM (Synchronous)
           bus width: 64 bits (total: 72 bits)
           Device-14: RISER 2 DIMM 4 size: No Module Installed type: DDR2 FB-DIMM (Synchronous)
           bus width: 64 bits (total: 72 bits)
           Device-15: RISER 3 DIMM 4 size: No Module Installed type: DDR2 FB-DIMM (Synchronous)
           bus width: 64 bits (total: 72 bits)
           Device-16: RISER 4 DIMM 4 size: No Module Installed type: DDR2 FB-DIMM (Synchronous)
           bus width: 64 bits (total: 72 bits)
Info:      Processes: 227 Uptime: 34 min Memory: 762.8/12020.9MB
           Init: systemd v: 208 runlevel: 5 default: 5 Gcc sys: 4.9.1 alt: 4.7/4.8
           Client: Shell (bash 4.3.221 running in yakuake) inxi: 2.1.94

Offline melmarker

  • User
  • Posts: 2.799
    • g-com.eu
Re: new inxi feature: -m for system ram
« Reply #10 on: 2014/08/14, 17:20:54 »
@h2 - new version uploaded, looks good to me:

Memory:    Array-1 capacity: 32 GB (est) devices: 4 EC: None
           max module size: 8192 MB (est.) 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: 247 Uptime: 2 days Memory: 2292.5/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 (sudo running in bash) inxi: 2.1.95-3
Those who would give up essential Liberty, to purchase a little temporary Safety, deserve neither Liberty nor Safety. (Benjamin Franklin, November 11, 1755)
Never attribute to malice that which can be adequately explained by stupidity. (Hanlons razor)

Offline dibl

  • siduction community member
  • Global Moderator
  • User
  • *****
  • Posts: 2.342
    • Land of the Buckeye
Re: new inxi feature: -m for system ram
« Reply #11 on: 2014/08/14, 17:44:42 »
New version looks fine here:


Code: [Select]
root@imerabox:/# inxi -S -I -mxxxx
System:    Host: imerabox Kernel: 3.16-1.towo-siduction-amd64 x86_64 (64 bit gcc: 4.9.1)
           Desktop: KDE 4.13.3 (Qt 4.8.6) info: plasma-desktop dm: lightdm
           Distro: aptosid 2011-02 Ἡμέρα - kde-lite - (201107131633)
Memory:    Array-1 capacity: 24 GB devices: 6 EC: Multi-bit ECC
           max module size: 4096 MB module voltage: 3.3 V
           Device-1: DIMM0 size: 2048 MB speed: N/A type: Other
           bus width: 64 bits (total: 72 bits) manufacturer: N/A part: N/A serial: N/A
           Device-2: DIMM1 size: No Module Installed type: Other bus width: 64 bits (total: 72 bits)
           Device-3: DIMM2 size: 2048 MB speed: N/A type: Other
           bus width: 64 bits (total: 72 bits) manufacturer: N/A part: N/A serial: N/A
           Device-4: DIMM3 size: No Module Installed type: Other bus width: 64 bits (total: 72 bits)
           Device-5: DIMM4 size: 2048 MB speed: N/A type: Other
           bus width: 64 bits (total: 72 bits) manufacturer: N/A part: N/A serial: N/A
           Device-6: DIMM5 size: No Module Installed type: Other bus width: 64 bits (total: 72 bits)
Info:      Processes: 317 Uptime: 4:27 Memory: 2308.5/5965.5MB
           Init: systemd v: 208 runlevel: 5 default: 5 Gcc sys: 4.9.1 alt: 4.6/4.7/4.8
           Client: Shell (bash 4.3.221 running in konsole) inxi: 2.1.95-3


Thanks h2!
System76 Oryx Pro, Intel Core i7-11800H, SSD 970 EVO Plus;  Asus ROG STRIX X299-E, Core i7-7740X, Nvidia GTX-1060, dual monitors, SSD 860 EVO

Offline melmarker

  • User
  • Posts: 2.799
    • g-com.eu
Re: new inxi feature: -m for system ram
« Reply #12 on: 2014/08/14, 19:09:00 »
@ghstryder - you really own a 64G array? interesting ...
maybe you should retest it with the new version, i see only 12G - same as in the info

@dibl - looks interesting describe it far better

- array 24 G with 6 devices - aka 4G per device
- 3 modules a 2 G  dev-1, dev-3, dev-5
- info shows approx. 6G - that would match the modules
« Last Edit: 2014/08/14, 19:13:03 by melmarker »
Those who would give up essential Liberty, to purchase a little temporary Safety, deserve neither Liberty nor Safety. (Benjamin Franklin, November 11, 1755)
Never attribute to malice that which can be adequately explained by stupidity. (Hanlons razor)

Offline bluelupo

  • User
  • Posts: 2.068
    • BluelupoMe
Re: new inxi feature: -m for system ram
« Reply #13 on: 2014/08/14, 19:43:35 »
New version looks fine here, too.

Code: [Select]
# inxi -S -I -mxxxx
System:    Host: polarfox Kernel: 3.16-0.towo-siduction-amd64 x86_64 (64 bit gcc: 4.9.1)
           Desktop: N/A info: plasma-desktop dm: kdm
           Distro: siduction 12.1.1 Desperado Reloaded - kde - (201206241901)
Memory:    Array-1 capacity: 16 GB devices: 2 EC: None
           Device-1: CHANNEL A DIMM0 size: 8192 MB speed: 1333 MHz type: DDR3 (Synchronous)
           bus width: 64 bits manufacturer: Kingston part: 9905403-502.A00LF serial: 030C39BE
           Device-2: CHANNEL B DIMM0 size: 8192 MB speed: 1333 MHz type: DDR3 (Synchronous)
           bus width: 64 bits manufacturer: Kingston part: 9905458-031.A00LF serial: 911E64AD
Info:      Processes: 317 Uptime: 2:47 Memory: 2383.2/15954.8MB
           Init: systemd v: 208 runlevel: 5 default: 5 Gcc sys: 4.9.1 alt: 4.7/4.8
           Client: Shell (bash 4.3.221 running in systemd) inxi: 2.1.94

Offline dibl

  • siduction community member
  • Global Moderator
  • User
  • *****
  • Posts: 2.342
    • Land of the Buckeye
Re: new inxi feature: -m for system ram
« Reply #14 on: 2014/08/14, 20:12:57 »

@dibl - looks interesting describe it far better

- array 24 G with 6 devices - aka 4G per device
- 3 modules a 2 G  dev-1, dev-3, dev-5
- info shows approx. 6G - that would match the modules


Yes, the mobo is an Asus P6X58D-E, which uses DDR3 DIMMs. The maximum memory capacity is 6 DIMMs, 4GB each. I installed 3 DIMMS, 2GB each. So the 24GB number is the maximum capacity, and the 6GB figure is the installed memory.
System76 Oryx Pro, Intel Core i7-11800H, SSD 970 EVO Plus;  Asus ROG STRIX X299-E, Core i7-7740X, Nvidia GTX-1060, dual monitors, SSD 860 EVO