我们在 Linux 下进行开发时,有时也需要知道当前的硬件信息,比如:CPU几核?使用情况?内存大小及使用情况?USB设备是否被识别?等等类似此类问题。下面良许介绍一些常用的硬件查看命令。
lshw 这个命令是一个比较通用的工具,它可以详细的列出本机的硬件信息。但这个命令并非所有的发行版都有,比如 Fedora 就默认没有,需要自己安装。
lshw 可以从各个 /proc 文件中提取出硬件信息,比如:CPU、内存、usb 控制器、硬盘等。如果不带选项的话,列出的信息将很长,加上 -short
选项时,将只列出概要信息。
[alvin@VM_0_16_centos ~]$ sudo lshw -short
#篇幅关系,以下结果有删减
H/W path Device Class Description
==========================================================
system Bochs
/0 bus Motherboard
/0/0 memory 96KiB BIOS
/0/401 processor Intel(R) Xeon(R) CPU E5-26xx v4
/0/1000 memory 2GiB System Memory
/0/1000/0 memory 2GiB DIMM RAM
/0/100 bridge 440FX - 82441FX PMC [Natoma]
/0/100/1 bridge 82371SB PIIX3 ISA [Natoma/Triton II]
/0/100/1.1/0.1.0 /dev/cdrom disk QEMU DVD-ROM
/0/100/1.2/1 usb1 bus UHCI Host Controller
/0/100/1.3 bridge 82371AB/EB/MB PIIX4 ACPI
/0/100/4/0/1 /dev/vda1 volume 49GiB EXT3 volume
/0/100/5 generic Virtio memory balloon
/0/100/5/0 generic Virtual I/O device
/0/1 system PnP device PNP0b00
/0/2 input PnP device PNP0303
lscpu 可以列出本机的 CPU 的相关信息,该命令没有任何选项及参数。
[alvin@VM_0_16_centos ~]$ lscpu
Architecture: x86_64
CPU op-mode(s): 32-bit, 64-bit
Byte Order: Little Endian
CPU(s): 1
On-line CPU(s) list: 0
Thread(s) per core: 1
Core(s) per socket: 1
Socket(s): 1
NUMA node(s): 1
Vendor ID: GenuineIntel
CPU family: 6
Model: 79
Model name: Intel(R) Xeon(R) CPU E5-26xx v4
Stepping: 1
CPU MHz: 2399.988
BogoMIPS: 4799.97
Hypervisor vendor: KVM
Virtualization type: full
L1d cache: 32K
L1i cache: 32K
L2 cache: 4096K
NUMA node0 CPU(s): 0
lsusb 列出与本机相连的所有 USB 设备的信息。默认情况下,只列出概要信息,使用 -v
选项可以列出每一个 USB 口的详细信息。
[alvin@VM_0_16_centos ~]$ lsusb
Bus 001 Device 003: ID 0424:ec00 Standard Microsystems Corp. SMSC9512/9514 Fast Ethernet Adapter
Bus 001 Device 002: ID 0424:9514 Standard Microsystems Corp. SMC9514 Hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
lsscsi 可以列出诸如硬盘/光驱等 SCSI/SATA 设备信息。
[alvin@VM_0_16_centos ~]$ lsscsi
[0:0:1:0] cd/dvd QEMU QEMU DVD-ROM 1.2. /dev/sr0
lspci 列出所有 PCI 总线,以及与 PCI 总线相连的所有设备的详细信息,比如 VGA 适配器、显卡、网络适配器、usb 端口、SATA 控制器等。
[alvin@VM_0_16_centos ~]$ lspci
00:00.0 Host bridge: Intel Corporation 440FX - 82441FX PMC [Natoma] (rev 02)
00:01.0 ISA bridge: Intel Corporation 82371SB PIIX3 ISA [Natoma/Triton II]
00:01.1 IDE interface: Intel Corporation 82371SB PIIX3 IDE [Natoma/Triton II]
00:01.2 USB controller: Intel Corporation 82371SB PIIX3 USB [Natoma/Triton II] (rev 01)
00:01.3 Bridge: Intel Corporation 82371AB/EB/MB PIIX4 ACPI (rev 03)
00:02.0 VGA compatible controller: Cirrus Logic GD 5446
00:03.0 Ethernet controller: Red Hat, Inc Virtio network device
00:04.0 SCSI storage controller: Red Hat, Inc Virtio block device
00:05.0 Unclassified device [00ff]: Red Hat, Inc Virtio memory balloon
df 命令可以列出不同分区的大小,使用情况,使用率,挂载点等信息,加上 -h
选项可以以 k, M, G 等单位表示大小,否则默认是字节,不容易阅读。
[alvin@VM_0_16_centos ~]$ df -h
Filesystem Size Used Avail Use% Mounted on
/dev/vda1 50G 7.5G 40G 16% /
devtmpfs 911M 0 911M 0% /dev
tmpfs 920M 68K 920M 1% /dev/shm
tmpfs 920M 364K 920M 1% /run
tmpfs 920M 0 920M 0% /sys/fs/cgroup
tmpfs 184M 0 184M 0% /run/user/0
tmpfs 184M 0 184M 0% /run/user/1001
tmpfs 184M 0 184M 0% /run/user/1000
free命令可以查看系统中使用的、闲置的和 RAM 的总体数量,一般带上 -m
参数。
[alvin@VM_0_16_centos ~]$ free -m
total used free shared buff/cache available
Mem: 1839 221 156 0 1461 1400
Swap: 0 0 0