在Linux下,我们经常需要查看系统的硬件信息, 这里我罗列了查看系统硬件信息的实用命令,并做了分类,实例解说。
执行环境:ubuntu 16.04
1. cpu
lscpu命令,查看的是cpu的统计信息.
代码语言:javascript复制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的型号,主频等。
代码语言:javascript复制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. 内存
概要查看内存情况
代码语言:javascript复制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。
查看内存详细使用
代码语言:javascript复制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
.....
查看内存硬件信息
代码语言:javascript复制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. 磁盘
查看硬盘和分区分布
代码语言:javascript复制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 /
查看硬盘和分区的详细信息
代码语言:javascript复制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. 网卡
查看网卡硬件信息
代码语言:javascript复制root@ubuntu:/home/peng# lspci | grep -i 'eth'
02:01.0 Ethernet controller: Intel Corporation 82545EM Gigabit Ethernet Controller (Copper) (rev 01)
查看系统的所有网络接口
代码语言:javascript复制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)
或者是
代码语言:javascript复制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】
代码语言:javascript复制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信息,即主板所有硬件槽信息。
代码语言:javascript复制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系统的树型结构:
代码语言:javascript复制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个功能的多功能板卡。
如果要更详细的信息:
代码语言:javascript复制lspci -v 或者 lspci -vv
如果要看设备树:lscpi -t
代码语言:javascript复制root@ubuntu:/home/peng# lspci -t
6. usb
查看usb信息
代码语言:javascript复制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
代码语言:javascript复制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信息
代码语言:javascript复制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设备的详细信息
代码语言:javascript复制lsusb -v
7. lshw查看所有硬件摘要信息
下面命令可以查看所有硬件摘要信息,并输出成一个html文件,把此html文件导出到电脑上,直接打开,可以清楚的看到硬件信息:
代码语言:javascript复制lshw -html > /hardware.html
8. lsscsi查看SCSI控制器设备的信息
可以看到SCSI信息和所有虚拟磁盘以及光驱的信息,如果没有硬件SCSI控制器,那就不会返回信息:
代码语言:javascript复制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盘后再查看:
代码语言:javascript复制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信息
代码语言:javascript复制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,既可以得到当前的配置,也可以得到系统支持的最大配置,比如说支持的最大内存数等。
如果要查看所有有用信息
代码语言:javascript复制dmidecode -q
里面包含了很多硬件信息。
end