FreeBSD Display Information About The System Hardware

by nixcraft · 8 comments

FreeBSD comes with different utilities, which can be use to gathered the information as per your needs. uname command is use to print system information. dmesg command is use to print kernel ring buffer information. sysctl command is use to configure kernel parameters at runtime as well as to read hardware information.

Following list summaries, all the command you need to gather FreeBSD hardware information.

1) Determining the Hardware Type/platform:
# uname -m
2) Determining machine processor architecture:
# uname -p
3) Determining FreeBSD release level:
# uname -r
Generally, following command is use to get all info at a time:
# uname -mrs
Output:

FreeBSD 5.0-RELEASE i386

4) Determining CPU information such as speed, make etc
# dmesg | grep CPU
Output:

CPU: Pentium 4 (1716.41-MHz 686-class CPU)
acpi_cpu0:  on acpi0
acpi_cpu: CPU throttling enabled, 8 steps from 100% to 12.5%

5) Determining real and available memory to FreeBSD:
# dmesg | grep memory
Output:

real memory  = 201326592 (192 MB)
avail memory = 188555264 (179 MB) 

Alternatively, try following command to grab memory information:
# sysctl -a | grep hw.*mem
# sysctl -a | grep mem

Output:

hw.physmem: 194985984
hw.usermem: 167641088
hw.cbb.start_memory: 2281701376

Note systcl has more info, just type the sysctl command to see rest of all information:
# sysctl -a | less
6) Determining how long a system has been up:
# uptime
7) Determining when a system was last rebooted or shutdown:
# last -1 reboot
# last -1 shutdown

8) Determining swap file system usage
# swapinfo -k
9) Determining who is logged in and what they are doing. Following all commands can be used. users command displays the list of all logged in users only.
# w
# who
# users

10) Find out when user was last logged in - You can use last command as follows:
# last user-name
(a) To find out user vivek was last logged, enter:
# last vivek

See FreeBSD getsysinfo.bash script. It is use to find general FreeBSD system information such as, hostname, OS version, Kernel version, Processor/CPU, Total RAM, System load, network interface, total logged in users, Hard disks, Runlevel etc. Make sure your read the detailed installation instruction.

Featured Articles:

Want to read Linux tips and tricks, but don't have time to check our blog everyday? Subscribe to our daily email newsletter to make sure you don't miss a single tip/tricks. Subscribe to our weekly newsletter here!

{ 8 comments… read them below or add one }

1 Anonymous 04.14.05 at 3:39 am

Thanks. Needing to branch out from my Linux and Solaris world. . .

2 jamie 05.18.05 at 9:28 am

Note that the “dmesg” information you are referring to is that retrieved on boot. After a while of system usage, that data can be “lost” as it’s replaced by other information that is appended to the buffer.

For this reason, the usual startup scripts copy the ‘dmesg’ output on bootup to /var/run/dmesg.boot – you’d be safer grepping your information from that file

3 Nilesh Hiray 01.21.06 at 10:09 pm

adding to what jamie said …

a more reliable way to find say the number of CPU’s will be

cat /var/run/dmesg.boot | grep CPU

–Nilesh

4 Anonymous 06.22.06 at 11:10 am

thanks nilesh.. that was great help
-Ajit

5 Daz 05.14.08 at 7:28 am

If you only want to know the number of CPUs, try this:

# sysctl -a | grep hw.ncpu
hw.ncpu: 8

6 SIFE 08.17.09 at 6:31 pm

Salamo ALikom
what i have to type if i want full system hardware like sound card ,video card etc .
thx for the tutorial .

7 tigos2 09.26.09 at 11:47 am

dmesg not work if system has few days and more uptime!
/var/log/messages* overwrited too!
I want full report of hardware on the system. How may I do? (ls /dev and pciconf -vl, but is not full report :( )
May I restart utility like dmesg?

8 Khan 11.18.09 at 3:34 pm

how to get the mother board model in freebsd

Leave a Comment

You can use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Previous post:

Next post: