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.
You should follow me on twitter here or grab rss feed to keep track of new changes.
Featured Articles:
- 30 Handy Bash Shell Aliases For Linux / Unix / Mac OS X
- Top 30 Nmap Command Examples For Sys/Network Admins
- 25 PHP Security Best Practices For Sys Admins
- 20 Linux System Monitoring Tools Every SysAdmin Should Know
- 20 Linux Server Hardening Security Tips
- Linux: 20 Iptables Examples For New SysAdmins
- Top 20 OpenSSH Server Best Security Practices
- Top 20 Nginx WebServer Best Security Practices
- 20 Examples: Make Sure Unix / Linux Configuration Files Are Free From Syntax Errors
- 15 Greatest Open Source Terminal Applications Of 2012

- My 10 UNIX Command Line Mistakes
- Top 10 Open Source Web-Based Project Management Software
- Top 5 Email Client For Linux, Mac OS X, and Windows Users
- The Novice Guide To Buying A Linux Laptop












![Sending Email With Attachments From Unix / Linux Command [ Shell Prompt ]](http://s13.cyberciti.org/images/shared/rp/3/9.jpg)

{ 8 comments… read them below or add one }
Thanks. Needing to branch out from my Linux and Solaris world. . .
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
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
thanks nilesh.. that was great help
-Ajit
If you only want to know the number of CPUs, try this:
# sysctl -a | grep hw.ncpu
hw.ncpu: 8
Salamo ALikom
what i have to type if i want full system hardware like sound card ,video card etc .
thx for the tutorial .
dmesgnot 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 /devandpciconf -vl, but is not full report :( )May I restart utility like
dmesg?how to get the mother board model in freebsd