Linux下如何查看硬件信息?

良许 良许Linux 我们在 Linux 下进行开发时,有时也需要知道当前的硬件信息,比如:CPU几核?使用情况?内存大小及使用情况?USB设备是否被识别?等等类似此类问题。下面良许介绍一些常用的硬件查看命令。

lshw

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

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

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

lsscsi 可以列出诸如硬盘/光驱等 SCSI/SATA 设备信息。


[alvin@VM_0_16_centos ~]$ lsscsi
[0:0:1:0]    cd/dvd  QEMU     QEMU DVD-ROM     1.2.  /dev/sr0

lspci

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

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

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