On 13/6/23 04:52, The Wanderer wrote:
On 2023-06-12 at 16:45, Bret Busby wrote:

On 13/6/23 04:30, The Wanderer wrote:

On 2023-06-12 at 16:06, Mick Ab wrote:

I wish to obtain information about the RAM installed on my PC using the
command line. The information needed is :-

Total RAM stored
Number of sticks used and amount of RAM on each stick
Type of RAM e.g. DDR4
Speed of RAM e.g. 3200 MHz
Manufacturer and model number of RAM

I have seen the dmidecode command being used, but the reliability of the
information returned is not reliable.

Is there any command that will reliably give the required RAM information ?

There are probably multiple ways to get it, but the first one that comes
to my mind involves the 'hwinfo' command, from the package of the same
name.

I don't remember exactly how I invoked it, but I have a historical trail
of files listing the hardware specifications of my last few machines as
they've changed over time, each generated from the output of that
command.


If I search the latest such file for "DIMM", I see two entries, each for
a different DIMM (i.e., "RAM stick"), each with multiple data items. The
fact that there are two of them gives you the "number of sticks used"
you asked for.

Those entries are sub-entries of a larger entry called "memory", which
has a data item called "size", which is the "total RAM" you asked for.

One of the data items in each sub-entry is "product", which appears as
if it might be the "model number" you asked for. (It certainly looks
like a model number, anyway.)

Another is "vendor", which appears to be the "manufacturer" you asked
for.

Another is "size", which gives you the "amount of RAM on each stick" you
asked for.

Another is "clock", which is the "speed of RAM" you asked for.

Another is "description", which at least in my case specifies (as part
of what appears to be a freeform string) that the DIMMs I'm looking at
are DDR4. I don't see that information specified anywhere else in the
listing.

  From the above, whilst this computer is running Linux Mint Mate 21.1,
which is based (?) on Ubuntu 22.04 ("jammy"), rather than Debian, I
expect that the same will apply for Debian;

Tue Jun 13 04:33:23 bret@bret-Precision-Tower-5810:~$hwinfo

and, in the output (lots of it - it outputs alot of details), is

"
P: /devices/virtual/dmi/id
    L: 0
    E: DEVPATH=/devices/virtual/dmi/id
    E: SUBSYSTEM=dmi
    E:
MODALIAS=dmi:bvnDellInc.:bvrA34:bd10/19/2020:br65.34:svnDellInc.:pnPrecisionTower5810:pvr:rvnDellInc.:rn0K240Y:rvrA02:cvnDellInc.:ct7:cvr:sku0617:
    E: USEC_INITIALIZED=2533353
    E: ID_VENDOR=Dell Inc.
    E: ID_MODEL=Precision Tower 5810
    E: MEMORY_ARRAY_LOCATION=System Board Or Motherboard
    E: MEMORY_ARRAY_EC_TYPE=Multi-bit ECC
    E: MEMORY_ARRAY_MAX_CAPACITY=137438953472

<snip lots of et-cetera>

I have to apologize; I completely misremembered the name of the program
that I was referencing, probably because of the filenames I store its
output under. hwinfo is absolutely not it. I would not consider output
such as you presented to be appropriately readable for human
consumption.

Rather, I got the records I'm looking at from the program 'lshw'.

Okay - so the equivalent output that describes the memory, from lshw, is

"
     *-memory
          description: System Memory
          physical id: 2f
          slot: System board or motherboard
          size: 128GiB
          capabilities: ecc
          configuration: errordetection=multi-bit-ecc
        *-bank:0
             description: RIMM DDR4 Synchronous 2133 MHz (0.5 ns)
             product: M393A2G40DB0-CPB
             vendor: Samsung
             physical id: 0
             serial: 400F4723
             slot: DIMM1
             size: 16GiB
             width: 64 bits
             clock: 2133MHz (0.5ns)
        *-bank:1
             description: RIMM DDR4 Synchronous 2133 MHz (0.5 ns)
             product: M393A2G40DB0-CPB
             vendor: Samsung
             physical id: 1
             serial: 39FDE464
             slot: DIMM5
             size: 16GiB
             width: 64 bits
             clock: 2133MHz (0.5ns)
        *-bank:2
             description: RIMM DDR4 Synchronous 2133 MHz (0.5 ns)
             product: M393A2G40DB0-CPB
             vendor: Samsung
             physical id: 2
             serial: 400F473D
             slot: DIMM3
             size: 16GiB
             width: 64 bits
             clock: 2133MHz (0.5ns)
        *-bank:3
             description: RIMM DDR4 Synchronous 2133 MHz (0.5 ns)
             product: M393A2G40DB0-CPB
             vendor: Samsung
             physical id: 3
             serial: 39FDD7B6
             slot: DIMM7
             size: 16GiB
             width: 64 bits
             clock: 2133MHz (0.5ns)
        *-bank:4
             description: RIMM DDR4 Synchronous 2133 MHz (0.5 ns)
             product: M393A2G40DB0-CPB
             vendor: Samsung
             physical id: 4
             serial: 400F4830
             slot: DIMM2
             size: 16GiB
             width: 64 bits
             clock: 2133MHz (0.5ns)
        *-bank:5
             description: RIMM DDR4 Synchronous 2133 MHz (0.5 ns)
             product: M393A2G40DB0-CPB
             vendor: Samsung
             physical id: 5
             serial: 39FDD7CA
             slot: DIMM6
             size: 16GiB
             width: 64 bits
             clock: 2133MHz (0.5ns)
        *-bank:6
             description: RIMM DDR4 Synchronous 2133 MHz (0.5 ns)
             product: M393A2G40DB0-CPB
             vendor: Samsung
             physical id: 6
             serial: 400F4722
             slot: DIMM4
             size: 16GiB
             width: 64 bits
             clock: 2133MHz (0.5ns)
        *-bank:7
             description: RIMM DDR4 Synchronous 2133 MHz (0.5 ns)
             product: M393A2G40DB0-CPB
             vendor: Samsung
             physical id: 7
             serial: 39FDD7C9
             slot: DIMM8
             size: 16GiB
             width: 64 bits
             clock: 2133MHz (0.5ns)
"

which may appear to be more "human" understandable, for expressing the capacity of each DIMM card in GiB, rather than in bytes, but, I had no problem in finding and understanding the applicable output for describing the RAM component of the hardware.

If being able to adequately interpret the output from hwinfo, makes me other than human, well, such is life.

Both utilities work, and, work sufficiently.

hwinfo is simply less pretty than lshw.

But, it nevertheless, works.

..
Bret Busby
Armadale
West Australia
(UTC+0800)
..............

Reply via email to