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