当前位置:首页 > 公众号精选 > C语言编程
[导读]在Linux下,我们经常需要查看系统的硬件信息,这里我罗列了查看系统硬件信息的实用命令,并做了分类,实例解说。执行环境:ubuntu16.041.cpulscpu命令,查看的是cpu的统计信息.root@ubuntu:/home/peng/# lscpuArchitecture:...

在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
里面包含了很多硬件信息。版权申明:内容来源网络,版权归原创者所有。除非无法确认,都会标明作者及出处,如有侵权烦请告知,我们会立即删除并致歉。谢谢!

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

为增进大家对电脑硬件的认识,本文将介绍如何维护电脑硬件。

关键字: 硬件 指数 电脑硬件

为增进大家对电脑硬件的认识,本文将对电脑硬件故障的检修方法以及排除步骤予以介绍。

关键字: 硬件 指数 电脑硬件

为增进大家对电脑硬件的认识,本文将对电脑硬件予以介绍。

关键字: 硬件 指数 电脑硬件

近日,国内高端存储品牌——佰维存储正式官宣与TES英雄联盟战队达成深度合作,成为TES官方唯一指定存储品牌。佰维存储与TES战队将携手共同助力中国电竞产业蓬勃发展,为电竞行业注入更多硬核科技元素,让更多的玩家感受专业电竞...

关键字: 硬件 存储

全新的卡片式设计:整个控制中心以卡片形式展现第三方连接状态,对应设备的相关功能以及其它硬件的终端设置,可在控制中心中进行统一管理。

关键字: 硬件 设备 终端

华为开发者大会是华为公司举办的年度盛会,旨在汇聚全球的开发者、合作伙伴和业界专家,共同探讨和分享最新的技术趋势、开发工具和实践经验。华为开发者大会不仅是华为对外展示技术实力和创新成果的重要平台,也是推动全球开发者生态发展...

关键字: 开发工具 华为 硬件

鸿蒙系统开发者需要学习哪些编程语言以及有哪些推荐,是一个复杂而多元的问题。鸿蒙系统,作为华为推出的面向物联网时代的操作系统,其开发者需要具备跨平台的开发能力、对硬件和软件的深入理解以及创新思维。

关键字: 鸿蒙系统 华为 硬件

嵌入式软件测试是针对嵌入式系统中的软件进行验证和验证的过程。嵌入式系统是集成在其他设备或系统中的计算机系统,例如汽车、医疗设备、家电等。为确保嵌入式软件的质量和可靠性,进行适当的测试是至关重要的。嵌入式软件测试是确保嵌入...

关键字: 嵌入式软件 计算机 硬件

嵌入式编程和PC编程是两种不同的编程领域,它们在硬件和软件层面上有着显著的区别。本文将对嵌入式编程和PC编程的不同之处进行详细的分析,并结合实际案例进行说明。

关键字: 嵌入式编程 PC编程 硬件

在众多行业的数字化转型过程中,基于硬件的数据处理加速是构建高性能、高效率智能系统的关键之处,因而市场上出现了诸如FPGA、GPU和xPU等许多通用或者面向特定应用(如NPU)的硬件加速器。尽管它们的性能和效率都高于通用处...

关键字: 软件 硬件 FPGA GPU
关闭
关闭