在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:
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:
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
里面包含了很多硬件信息。