You can use the dmesg utility displays the contents of the system message buffer when FreeBSD comes up. For accuracy I recommend querying /var/run/dmesg.boot file. Usually a snapshot of the buffer contents taken soon after file systems are mounted at startup time and dumped to /var/run/dmesg.boot file.
Check CPU Speed in FreeBSD using sysctl command
Type the following command at a shell prompt as root user:
# sysctl -a | egrep -i 'hw.machine|hw.model|hw.ncpu'
# sysctl hw.model hw.machine hw.ncpu
hw.machine: amd64 hw.model: Intel(R) Xeon(R) CPU X3220 @ 2.40GHz hw.ncpu: 4 hw.machine_arch: amd64
From the outputs, I've an Intel Xeon quad core processor running at 2.40GHz. Here is another output from my FreeBSD based firewall server:
FreeBSD CPUINFO using the dmesg command
Type the following command:
# dmesg | grep -i cpu
Or directly query /var/run/dmesg.boot file:
# grep -i cpu /var/run/dmesg.boot
CPU: Dual Core AMD Opteron(tm) Processor 170 (1999.08-MHz 686-class CPU) FreeBSD/SMP: Multiprocessor System Detected: 2 CPUs cpu0 (BSP): APIC ID: 0 cpu1 (AP): APIC ID: 1 cpu0:
on acpi0 acpi_throttle0: on cpu0 cpu1: on acpi0 acpi_throttle1: on cpu1 SMP: AP CPU #1 Launched!
You can also dump more information using sysctl command:
# sysctl -a | grep -i cpu | less