vlambda博客
学习文章列表

9个Linux 常用查看系统硬件信息命令(实例详解)



在Linux下,我们经常需要查看系统的硬件信息, 这里我罗列了查看系统硬件信息的实用命令,并做了分类,实例解说。

执行环境:ubuntu 16.04

1. cpu

lscpu命令,查看的是cpu的统计信息.

root@ubuntu:/home/peng/# lscpu
Architecture:          x86_64            #cpu架构
CPU op-mode(s):        32-bit, 64-bit
Byte Order:            Little Endian     #小尾序
CPU(s):                1                 #总共有1核   
On-line CPU(s) list:   0
Thread(s) per core:    1                 #每个cpu核,只能支持一个线程,即不支持超线程 
Core(s) per socket:    1
Socket(s):             1
NUMA node(s):          1
Vendor ID:             GenuineIntel     #cpu产商 intel
CPU family:            6
Model:                 158
Model name:            Intel(R) Core(TM) i5-7500 CPU @ 3.40GHz
Stepping:              9
CPU MHz:               3408.070
BogoMIPS:              6816.14
Hypervisor vendor:     VMware
Virtualization type:   full             #支持cpu虚拟化技术
L1d cache:             32K
L1i cache:             32K
L2 cache:              256K
L3 cache:              6144K
NUMA node0 CPU(s):     0

查看/proc/cpuinfo,可以知道每个cpu信息,如每个CPU的型号,主频等。

root@ubuntu:/home/peng# cat /proc/cpuinfo
processor : 0
vendor_id : GenuineIntel
cpu family : 6
model  : 158
model name : Intel(R) Core(TM) i5-7500 CPU @ 3.40GHz
stepping : 9
microcode : 0x48
cpu MHz  : 3408.070
cache size : 6144 KB
physical id : 0
siblings : 1
core id  : 0
cpu cores : 1
apicid  : 0
initial apicid : 0
fpu  : yes
fpu_exception : yes
cpuid level : 22
wp  : yes
.....

2. 内存

概要查看内存情况

root@ubuntu:/home/peng# free -m
              total        used        free      shared  buff/cache   available
Mem:           1970         702         315          13         952        1025
Swap:           974          20         954

这里的单位是MB,总共的内存是1970MB。

查看内存详细使用

root@ubuntu:/home/peng# cat /proc/meminfo 
MemTotal:        2017516 kB
MemFree:          242020 kB
MemAvailable:    1003240 kB
Buffers:          104192 kB
Cached:           699824 kB
SwapCached:         1832 kB
Active:           696320 kB
Inactive:         639924 kB
Active(anon):     236412 kB
Inactive(anon):   301996 kB
Active(file):     459908 kB
Inactive(file):   337928 kB
Unevictable:          48 kB
Mlocked:              48 kB
.....

查看内存硬件信息

root@ubuntu:/home/peng# dmidecode -t memory
# dmidecode 3.0                                                                                                                                                                                 
Getting SMBIOS data from sysfs.
SMBIOS 2.7 present.
 
Handle 0x0084, DMI type 5, 46 bytes
Memory Controller Information
    Error Detecting Method: None
    Error Correcting Capabilities:
         None
    Supported Interleave: One-way Interleave
    Current Interleave: One-way Interleave
    Maximum Memory Module Size: 32768 MB
    Maximum Total Memory Size: 491520 MB
    Supported Speeds:
        70 ns
        60 ns
    Supported Memory Types:
        FPM
        EDO
        DIMM
        SDRAM
    Memory Module Voltage: 3.3 V
    Associated Memory Slots: 15
.....

内存最大值是 491520 MB。

3. 磁盘

查看硬盘和分区分布

root@ubuntu:/home/peng# lsblk
NAME   MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sr0     11:0    1 1024M  0 rom  
sda      8:0    0  500G  0 disk 
├─sda2   8:2    0    1K  0 part 
├─sda5   8:5    0  975M  0 part [SWAP]
└─sda1   8:1    0  499G  0 part /

查看硬盘和分区的详细信息

root@ubuntu:/home/peng# fdisk -l
Disk /dev/sda: 500 GiB, 536870912000 bytes, 1048576000 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x9c674a44

Device     Boot      Start        End    Sectors  Size Id Type
/dev/sda1  *          2048 1046575103 1046573056  499G 83 Linux
/dev/sda2       1046577150 1048573951    1996802  975M  5 Extended
/dev/sda5       1046577152 1048573951    1996800  975M 82 Linux swap / Solaris

4. 网卡

查看网卡硬件信息

root@ubuntu:/home/peng# lspci | grep -i 'eth'
02:01.0 Ethernet controller: Intel Corporation 82545EM Gigabit Ethernet Controller (Copper) (rev 01)

查看系统的所有网络接口

root@ubuntu:/home/peng# ifconfig -a
ens33     Link encap:Ethernet  HWaddr 00:0c:29:bb:bd:40  
          inet addr:192.168.0.117  Bcast:192.168.0.255  Mask:255.255.255.0
          inet6 addr: fe80::76fa:5548:3da0:2ef/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:174629 errors:0 dropped:0 overruns:0 frame:0
          TX packets:105285 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:237519396 (237.5 MB)  TX bytes:9592767 (9.5 MB)

lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:65536  Metric:1
          RX packets:854 errors:0 dropped:0 overruns:0 frame:0
          TX packets:854 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:60894 (60.8 KB)  TX bytes:60894 (60.8 KB)

或者是

root@ubuntu:/home/peng# ip link show
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP mode DEFAULT group default qlen 1000
    link/ether 00:0c:29:bb:bd:40 brd ff:ff:ff:ff:ff:ff

或者

如果要查看某个网络接口的详细信息,例如ens33的详细参数和指标

【有的ubuntu网口是eth0】

root@ubuntu:/home/peng# ethtool ens33
Settings for ens33:
 Supported ports: [ TP ]
 Supported link modes:   10baseT/Half 10baseT/Full 
                         100baseT/Half 100baseT/Full #支持千兆半双工,全双工模式
                         1000baseT/Full 
 Supported pause frame use: No
 Supports auto-negotiation: Yes #默认使用自适应模式
 Advertised link modes:  10baseT/Half 10baseT/Full 
                         100baseT/Half 100baseT/Full 
                         1000baseT/Full 
 Advertised pause frame use: No
 Advertised auto-negotiation: Yes
 Speed: 1000Mb/s #网卡的速度是1000Mb
 Duplex: Full    #全双工
 Port: Twisted Pair
 PHYAD: 0
 Transceiver: internal
 Auto-negotiation: on
 MDI-X: off (auto)
 Supports Wake-on: d
 Wake-on: d
 Current message level: 0x00000007 (7)
          drv probe link
 Link detected: yes   #表示有网线连接,和路由是通的

5. pci

查看pci信息,即主板所有硬件槽信息。

root@ubuntu:/home/peng# lspci
 00:00.0 Host bridge: Intel Corporation 82845 845 (Brookdale) Chipset Host Bridge (rev 04)
 00:01.0 PCI bridge: Intel Corporation 82845 845 (Brookdale) Chipset AGP Bridge(rev 04)
 00:1d.0 USB Controller: Intel Corporation 82801CA/CAM USB (Hub #1) (rev 02)
 00:1d.1 USB Controller: Intel Corporation 82801CA/CAM USB (Hub #2) (rev 02)
 00:1e.0 PCI bridge: Intel Corporation 82801 Mobile PCI Bridge (rev 42)
 00:1f.0 ISA bridge: Intel Corporation 82801CAM ISA Bridge (LPC) (rev 02)
 00:1f.1 IDE interface: Intel Corporation 82801CAM IDE U100 (rev 02)
 00:1f.3 SMBus: Intel Corporation 82801CA/CAM SMBus Controller (rev 02)
 00:1f.5 Multimedia audio controller:Intel Corporation 82801CA/CAM AC'97 Audio Controller (rev 02)
 00:1f.6 Modem: Intel Corporation 82801CA/CAM AC'
97 Modem Controller (rev 02)
 01:00.0 VGA compatible controller: nVidia Corporation NV17 [GeForce4 420 Go](rev a3)
 02:00.0 FireWire (IEEE 1394): VIA Technologies, Inc. IEEE 1394 Host Controller(rev 46)
 02:01.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL-8139/8139C/8139C+(rev 10)
 02:04.0 CardBus bridge: O2 Micro, Inc. OZ6933 Cardbus Controller (rev 01)
 02:04.1 CardBus bridge: O2 Micro, Inc. OZ6933 Cardbus Controller (rev 01)

由上述的 输出可以看到,我的电脑上共有3个PCI总线(0号,1号,2号)。在单个系统上,插入多个总线是通过桥(bridge)来完成的,桥是一种用来连接总线 的特殊PCI外设。所以,PCI系统的整体布局组织为树型,我们可以通过上面的lspci输出,来画出我的电脑上的PCI系统的树型结构:

00:00.0(主桥)--00:01.0(PCI桥)-----01:00:0(nVidia显卡)
                   |
                   |---00:1d(USB控制器)--00:1d:0(USB1号控制器)
                   |                    |
                   |                    |--00:1d:1(USB2号控制器)                    |
                   |-00:1e:0(PCI桥)--02:00.0(IEEE1394)
                   |                |
                   |                |-02:01.0(8139网卡)
                   |                |
                   |                |-02:04(CardBus桥)-02:04.0(桥1)
                   |                                   |
                   |                                   |--02:04.1(桥2)
                   |
                   |-00:1f(多功能板卡)-00:1f:0(ISA桥)
                                        |
                                        |--00:1f:1(IDE接口)
                                        |
                                        |--00:1f:3(SMBus)
                                        |
                                        |--00:1f:5(多媒体声音控制器)
                                        |
                                        |--00:1f:6(调制解调器)

由上图可以得出,我的电脑上共有8个PCI设备,其中0号总线上(主桥)上连有4个,1号总线上连有1个,2号总线上连有3个。00:1f是一个连有5个功能的多功能板卡。

如果要更详细的信息:

lspci -v 或者 lspci -vv

如果要看设备树:lscpi -t

root@ubuntu:/home/peng# lspci -t

6. usb

查看usb信息

root@ubuntu:/home/peng# lsusb
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 003: ID 0e0f:0002 VMware, Inc. Virtual USB Hub
Bus 002 Device 002: ID 0e0f:0003 VMware, Inc. Virtual Mouse
Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub

lsusb -t查看系统中的USB拓扑,类似cat /sys/kernel/debug/usb/devices

root@ubuntu:/home/peng# lsusb -t
/:  Bus 02.Port 1: Dev 1, Class=root_hub, Driver=uhci_hcd/2p, 12M
    |__ Port 1: Dev 2, If 0, Class=Human Interface Device, Driver=usbhid, 12M
    |__ Port 2: Dev 3, If 0, Class=Hub, Driver=hub/7p, 12M
/:  Bus 01.Port 1: Dev 1, Class=root_hub, Driver=ehci-pci/6p, 480M

/var/lib/usbutils/usb.ids还保存了很多设备商的VID信息

root@ubuntu:/home/peng# cat /var/lib/usbutils/usb.ids | grep King
 7778  Counterfeit flash drive [Kingston]
 0100  Kingston Flash Drive (128MB)
 c010  Kingston FCR-HS2/ATA Card Reader
07cb  Kingmax Technology, Inc.
 4100  Kingsun SF-620 Infrared Adapter
 4959  Kingsun KS-959 Infrared Adapter
 0015  Kingston DataTraveler ELITE
 0016  Kingston DataTraveler U3
 0998  Kingston Data Traveler2.0 Disk Driver
 0999  Kingston Data Traveler2.0 Disk Driver
 6519  Kingston DataTraveler 2.0 USB Stick
 653c  Kingston DataTraveler 2.0 Stick (512M)
 653d  Kingston DataTraveler 2.0 Stick (1GB)
 6544  TransMemory-Mini / Kingston DataTraveler 2.0 Stick (2GB)
 6545  Kingston DataTraveler 102/2.0 / HEMA Flash Drive 2 GB / PNY Attache 4GB Stick
0951  Kingston Technology
0d8a  King Jim Co., Ltd
 00a3  Smart King PRO Uninterruptible Power Supply (HID PDC)
0e56  Kingston Technology Company, Inc.
0f8e  Kingnet Technology Co., Ltd
13fe  Kingston Technology Company Inc.
 1f00  Kingston DataTraveler / Patriot Xporter
1687  Kingmax Digital Inc.
16df  King Billion Electronics Co., Ltd.
 2149  EntropyKing Random Number Generator

lsusb -v查看系统中USB设备的详细信息

lsusb -v

7. lshw查看所有硬件摘要信息

下面命令可以查看所有硬件摘要信息,并输出成一个html文件,把此html文件导出到电脑上,直接打开,可以清楚的看到硬件信息:

lshw -html > /hardware.html

8. lsscsi查看SCSI控制器设备的信息

可以看到SCSI信息和所有虚拟磁盘以及光驱的信息,如果没有硬件SCSI控制器,那就不会返回信息:

root@ubuntu:/home/peng# lsscsi
[2:0:0:0]    disk    VMware,  VMware Virtual S 1.0   /dev/sda 
[4:0:0:0]    cd/dvd  NECVMWar VMware SATA CD01 1.00  /dev/sr0 

插入一个U盘后再查看:

root@ubuntu:/home/peng# lsscsi
[2:0:0:0]    disk    VMware,  VMware Virtual S 1.0   /dev/sda 
[4:0:0:0]    cd/dvd  NECVMWar VMware SATA CD01 1.00  /dev/sr0 
[33:0:0:0]   disk    Kingston DataTraveler G2  1.00  /dev/sdb 

可以看到U盘为Kingston。

9. 查看bios信息

root@ubuntu:/home/peng# dmidecode -t bios
# dmidecode 3.0
Getting SMBIOS data from sysfs.
SMBIOS 2.7 present.

Handle 0x0000, DMI type 0, 24 bytes
BIOS Information
 Vendor: Phoenix Technologies LTD
 Version: 6.00
 Release Date: 07/29/2019
 Address: 0xEA480
 Runtime Size: 88960 bytes
 ROM Size: 64 kB
 Characteristics:
  ISA is supported
  PCI is supported
  PC Card (PCMCIA) is supported
  PNP is supported
  APM is supported
  BIOS is upgradeable
  BIOS shadowing is allowed
  ESCD support is available
  Boot from CD is supported
  Selectable boot is supported
  EDD is supported
  Print screen service is supported (int 5h)
  8042 keyboard services are supported (int 9h)
  Serial services are supported (int 14h)
  Printer services are supported (int 17h)
  CGA/mono video services are supported (int 10h)
  ACPI is supported
  Smart battery is supported
  BIOS boot specification is supported
  Function key-initiated network boot is supported
  Targeted content distribution is supported
 BIOS Revision: 4.6
 Firmware Revision: 0.0

dmidecode以一种可读的方式dump出机器的DMI(Desktop Management Interface)信息。这些信息包括了硬件以及BIOS,既可以得到当前的配置,也可以得到系统支持的最大配置,比如说支持的最大内存数等。

如果要查看所有有用信息

dmidecode -q

里面包含了很多硬件信息。