This section covers ways of finding out about your hardware without opening the box. It’s mostly UNIX stuff to be used from the command line. If you want to write programs that determine this stuff, you might find this Rosetta Stone API page useful.
$ uname -a Linux green.ph.ed.ac.uk 2.6.9-42.0.3.ELsmp #1 SMP Mon Sep 25 17:28:02 EDT 2006 i686 i686 i386 GNU/Linux
On linux, you can find out what memory your machine has like this:
$ free -m total used free shared buffers cached Mem: 239 235 4 0 0 31 -/+ buffers/cache: 202 36 Swap: 2000 216 1783
Or you can use
$ cat /proc/meminfo MemTotal: 245228 kB MemFree: 5264 kB Buffers: 408 kB Cached: 40896 kB SwapCached: 92316 kB Active: 168328 kB Inactive: 54412 kB HighTotal: 0 kB HighFree: 0 kB LowTotal: 245228 kB LowFree: 5264 kB SwapTotal: 2048248 kB SwapFree: 1891664 kB Dirty: 148 kB Writeback: 0 kB Mapped: 185496 kB Slab: 12484 kB CommitLimit: 2170860 kB Committed_AS: 416392 kB PageTables: 1996 kB VmallocTotal: 782328 kB VmallocUsed: 2260 kB VmallocChunk: 780052 kB
$ dmesg | grep MEM 0MB HIGHMEM available. 247MB LOWMEM available. MEM window: ea000000-ebffffff
Or, if you can access the machine, watch out for it on boot or check via the BIOS. More info can be found on this Linux and Memory web page, including how to get a machine to recognise memory that is going unnoticed.
You can find out about the CPU’s on your machine using this command:
Or using this command:
Be warned that on hyperthreaded systems, one or more real CPUs may be managed as two or more virtual processors. My machine in Edinburgh shows up 4 CPU cores, but actually only has two. I’m not sure how to detect this from the command line.
$ uname -a SunOS frontend 5.9 Generic_112233-12 sun4u sparc SUNW,Sun-Fire-15000
You can find out about your memory, cpu’s and peripherals using
Or, if that doesn’t work, you could try:
This will provide more wordy CPU info:
A remarkably large about of impenetrable information is unleashed my typing:
Not sure what much of it means though.
Much information is available via
To look up the available memory, you can use this
sysctl -n hw.physmem