Make Room!
Charly's Column – lshw
In order to avoid complaints from his children, Charly prefers to use lshw instead of a screwdriver to analyze his home firewall PC's hardware details.
For many years, a small, fanless industrial PC with two Gigabit Ethernet interfaces has served as a firewall in my home storeroom. The hardware is not very powerful, but it is just about sufficient for forwarding network packets and a few iptables rules.
I seem to recall that this device has 2GB RAM – but whether in the form of a 2GB module or as two 1GB modules, I really don't know. How many RAM slots are there anyway, and what is the maximum amount of RAM I could use if I decided to upgrade? I would like to find that out without taking the firewall off the Internet and removing its case, because that always provokes disrespectful comments from my kids: "What kind of availability is that, Dad?"
Hardware Lister, lshw
, [1] is a reliable tool for answering questions about hardware. It elicits extensive information from the system about every installed hardware component – usually more than I ever wanted to know.
In daily practice, I usually misuse lshw
to find out whether I'm on a physical server or a virtual machine (VM). As always, many roads lead to Rome, but it's hard to get there faster than with lshw
:
$ lshw -c system | grep -i product product: VMware Virtual Platform [...]
Ah, a VM. Sometimes you see KVM
or VirtualBox
, and so on, depending on the virtualization platform.
But back to my small firewall and the actual purpose of lshw
. For example, typing
lshw -C cpu
gives you all the information that lshw
finds about the installed CPU. In this case, it is an Intel Atom with a 32-bit core and two logical CPUs. My question about the RAM is also answered by lshw
. The command
lshw -short -C memory
shows that there are four DIMM banks, of which only one is occupied by a 2GB module (Figure 1).
Despite the wealth of information, there is one little thing that lshw
can't help me with: It doesn't tell me the maximum amount of RAM I can use. For this, I have to dig a little deeper into the toolbox and pull out dmidecode
. The following command gives me the desired results:
$ dmidecode -t memory | grep size -i
With this, I discovered that the maximum expansion capacity is four DIMMs of 4GB each (Figure 2). Now, let me just check what I have available in spare RAM.
Infos
Buy this article as PDF
(incl. VAT)