• linux查看系统设备型号信息


    1. 查看服务器及内存型号信息

    1.1. dmidecode简介

    DMI(Desktop Management Interface,DMI)直译就是“桌面管理界面”,它就是通过收集系统信息来管理系统。其主要组成部分是Management Information Format(MIF)数据库。这个数据库包括了所有有关电脑系统和配件的信息。通过DMI,用户可以获取序列号、电脑厂商、串口信息以及其它系统配件信息。DMI充当了管理工具和系统层之间接口的角色。它建立了标准的可管理系统更加方便了电脑厂商和用户对系统的了解。dmidecode就是将DMI数据库里面的信息解码后,以文本的方式进行展现的。dmidecode遵循SMBIOS/DMI标准,其输出的信息包括BIOS、系统、主板、处理器、内存、缓存等等。因此我们可以在Linux系统下通过dmidecode来获取有关硬件方面的信息。DMI信息是可以人为篡改,存在查询结果不准确的问题。不过一般正规途径的机器不会去被篡改。)

    SMBIOS(System Management BIOS)是主板或系统制造者以标准格式显示产品管理信息所需遵循的统一规范。SMBIOS和DMI是由行业指导机构Desktop Management Task Force(DMTF)起草的开放性的技术标准,其中DMI设计适用于任何的平台和操作系统。

     

    1.2. dmidecode参数选项

    以下为dmidecode的命令选项:

    命令参数

    描述

     -d, --dev-mem FILE   

    从设备文件读取信息,输出内容与不加参数标准输出相同。

     -h, --help             

    显示帮助信息

     -q, --quiet           

    安静模式,尽量不输出冗余的信息。

     -s, --string KEYWORD   

    只显示指定DMI字符串的信息。

     -t, --type TYPE       

    只输出指定类型的信息

     -H, --handle HANDLE    

    只输出指定句柄的信息

     -u, --dump            

    显示未解码的原始条目内容。

         --dump-bin FILE  

    输出二进制格式的DMI数据文件

         --from-dump FILE   

    从二进制的DMI数据文静读取数据

         --no-sysfs

    禁止从sysfs文件读取DMI数据

         --oem-string N

    只从OEM字符串中读取数据

     -V, --version

    显示版本信息

     

    不带选项执行dmidecode通常会输出所有的硬件信息。而本文只重点介绍“写作背景”中用到的,也是常用的选项:-t 。选项type内容有:bios、system、baseboard、chassis、processor、memory、cache、connector、slot。

    type全部编码列表:

    0 BIOS

    14 Group Associations

    28 Temperature Probe

    1 System

    15 System Event Log

    29 Electrical Current Probe

    2 Base Board

    16 Physical Memory Array

    30 Out-of-band Remote Access

    3 Chassis

    17 Memory Device

    31 Boot Integrity Services

    4 Processor

    18 32-bit Memory Error

    32 System Boot

    5 Memory Controller

    19 Memory Array Mapped Address

    33 64-bit Memory Error

    6 Memory Module

    20 Memory Device Mapped Address

    34 Management Device

    7 Cache

    21 Built-in Pointing Device

    35 Management Device Component

    8 Port Connector

    22 Portable Battery

    36 Management Device Threshold Data

    9 System Slots

    23 System Reset

    37 Memory Channel

    10 On Board Devices

    24 Hardware Security

    38 IPMI Device

    11 OEM Strings

    25 System Power Controls

    39 Power Supply

    12 System Configuration Options

    26 Voltage Probe

    40 Additional Information

    13 BIOS Language

    27 Cooling Device

    41 Onboard Device

     

    1.3. 应用

    1、查看服务器型号:dmidecode | grep 'Product Name'

    2、查看主板的序列号:dmidecode |grep 'Serial Number'

    3、查看系统序列号:dmidecode -s system-serial-number

    4、查看内存型号信息:dmidecode -t memory | egrep   'Manufacturer|Serial Number'

    5、查看OEM信息:dmidecode -t 11

    6、查看现有内存数量和内存大小:dmidecode | grep -A16 "Memory Device" | grep "Size" |sed 's/^[ ]*//'  //

    7、查看最大支持内存容量:dmidecode | grep "Maximum Capacity" |sed  "s/^[ ]*//"  

    2. 查看CPU型号信息

    2.1. lscpu简介

    lscpu从sysfs和/proc/cpuinfo收集cpu体系结构信息,命令输出的信息包含cpu数量,线程,核数,套接字和Nom-Uniform Memeor Access(NUMA),缓存等 。

    2.2. lscpu参数选项

    参数选项如下:

    参数选项

    说明

      -a, –all

     包含上线和下线的cpu的数量,此选项只能与选项e或-p一起指定

      -b, –online

     只显示出上线的cpu数量,此选项只能与选项e或者-p一起指定

      -c, –offline

     只显示出离线的cpu数量,此选项只能与选项e或者-p一起指定

       -e, –extended [=list]

     以人性化的格式显示cpu信息,如果list参数省略,输出所有可用数据的列,在指定了list参数时,选项的字符串、等号(=)和列表必须不包含任何空格或其他空白。比如:’-e=cpu,node’ or ’–extended=cpu,node’

      -h, –help

    帮助

      -p, –parse [=list]

     优化命令输出,便于分析.如果省略list,则命令的输出与早期版本的lscpu兼容,兼容格式以两个逗号用于分隔cpu缓存列,如果没有发现cpu缓存,则省略缓存列,如果使用list参数,则缓存列以冒号(:)分隔。在指定了list参数时,选项的字符串、等号(=)和列表必须不包含空格或者其它空白。比如:’-e=cpu,node’ or ’–extended=cpu,node’

      -s, –sysroot directory

     为一个Linux实例收集CPU数据,而不是发出lscpu命令的实例。指定的目录是要检查Linux实例的系统根

      -x, –hex

    使用十六进制来表示cpu集合,默认情况是打印列表格式的集合(例如:0,1)

     

    输出格式如下:

      Architecture: #架构

      CPU(s): #逻辑cpu颗数

      Thread(s) per core: #每个核心线程

      Core(s) per socket: #每个cpu插槽核数/每颗物理cpu核数

      CPU socket(s): #cpu插槽数

      Vendor ID: #cpu厂商ID

      CPU family: #cpu系列

      Model: #型号

      Stepping: #步进

      CPU MHz: #cpu主频

      Virtualization: #cpu支持的虚拟化技术

      L1d cache: #一级缓存(google了下,这具体表示表示cpu的L1数据缓存)

      L1i cache: #一级缓存(具体为L1指令缓存)

      L2 cache: #二级缓存

    2.3. 应用

    1、查看CPU型号:lscpu |grep "Model name"  或者 dmidecode -t Processor |grep Version

    2、查看CPU逻辑核数:lscpu |grep ^CPU(s)

    3、查看CPU 物理核数:lscpu |grep ^Core(s)

     

    3. 查看磁盘型号信息

    3.1. 工具介绍

    3.1.1. smartctl

    smartctl是smartmontools中的一个命令行工具,可以执行SMART任务。SMART是一种磁盘自我分析检测技术,早在90年代末就基本得到了普及,每一块硬盘(包括IDE、SCSI)在运行的时候,都会将自身的若干参数记录下来。这些参数包括型号、容量、温度、密度、扇区、寻道时间、传输、误码率等。硬盘运行了几千小时后,很多内在的物理参数都会发生变化,某一参数超过报警阈值,则说明硬盘接近损坏,此时硬盘依然在工作,如果用户不理睬这个报警继续使用,那么硬盘将变得非常不可靠,随时可能故障

    首先通过dmesg工具,确认一下硬盘的设备符号。例如一个IDE硬盘连接到Primary IDE 总线上的Slave位置,硬盘设备符号是/dev/hdb,hdb中的h代表IDE,如果显示为sdb,则代表SATA和SCSI。最后一个字幕b代表Primary总线,第二块硬盘即Slave位置

    3.1.2. hdparm

    hdparm ”(即硬盘参数)是Linux的命令行程序之一,用于处理磁盘设备和硬盘。借助此命令,可以获得有关硬盘,更改写入间隔,声学管理和DMA设置的统计信息。它还可以设置与驱动器高速缓存,睡眠模式,电源管理,声学管理和DMA设置相关的参数。

    3.2. 参数选项

    3.2.1. smartctl参数

    参数:

    -h  帮助信息

    -V  版本信息

    -i  打印基本信息(磁盘设备号、序列号、固件版本…)

    -a  打印磁盘所有的SMART信息

    -q  TYPE

    指定输出的安静模式。
       eorsonly    只打印错误日志。
       lent       有任何打印。
       nserial     不打印序列号

    -d  TYPE

    指定磁盘的类型。如果没有指定,smartctl会根据磁盘的名字来猜测磁盘类型。

    -T  TYPE  

    指定当发生错误时,smartctl的容忍程度,是否继续运行。
       conservative      一有错就会退出
       normal        如果必须支持的SMART命令失败,则退出
       permissive     忽略一次必须支持的SMART命令失败
       verypermissive  忽略所有必须支持的SMART命令失败

    -b  TYPE  

    指定当发生校验错误时,smartctl的动作。
       warn          发出警告,继续执行
       exit           退出smartctl
       ignore        不发出告警,继续执行

    -r  TYPE      

    smartmontools开发人员相关。

    -n  POWERMODE    

    指定当磁盘处于节能模式时,smartctl是否继续检查,默认是不检查。
       never   检查
       sleep    除了sleep模式,检查。
       standby  除了sleep或standby模式,检查。
       idle      除了sleep或standby或idle模式,见车。

    3.2.2. hdparm参数

    参数选项

    说明

    -a

    <快取分区> 设定读取文件时,预先存入块区的分区数,若不加上<快取分区>选项,则显示目前的设定。

    -A

    <0或1> 启动或关闭读取文件时的快取功能。   

    -c

    <I/O模式> 设定IDE32位I/O模式。   

    -C

    检测IDE硬盘的电源管理模式。   

    -d

    <0或1> 设定磁盘的DMA模式。   

    -f

    将内存缓冲区的数据写入硬盘,并清楚缓冲区。   

    -g

    显示硬盘的磁轨,磁头,磁区等参数。   

    -h

    显示帮助。   

    -i

    显示硬盘的硬件规格信息,这些信息是在开机时由硬盘本身所提供。   

    -I

    直接读取硬盘所提供的硬件规格信息。   

    -k

    <0或1> 重设硬盘时,保留-dmu参数的设定。   

    -K

    <0或1> 重设硬盘时,保留-APSWXZ参数的设定。   

    -m

    <磁区数> 设定硬盘多重分区存取的分区数。   

    -n

    <0或1> 忽略硬盘写入时所发生的错误。   

    -p

    <PIO模式> 设定硬盘的PIO模式。   

    -P

    <磁区数> 设定硬盘内部快取的分区数。   

    -q

    在执行后续的参数时,不在屏幕上显示任何信息。   

    -r

    <0或1> 设定硬盘的读写模式。   

    -S

    <时间> 设定硬盘进入省电模式前的等待时间。   

    -t

    评估硬盘的读取效率。   -T 评估硬盘快取的读取效率。   

    -u

    <0或1>在硬盘存取时,允许其他中断要求同时执行。-v 显示硬盘的相关设定。   

    -W

    <0或1> 设定硬盘的写入快取。 -X<传输模式> 设定硬盘的传输模式。   

    -y

    使IDE硬盘进入省电模式。  -Y 使IDE硬盘进入睡眠模式。   

    -Z

    关闭某些Seagate硬盘的自动省电功能。

    3.3. 应用

    查看磁盘厂家型号及序列号:

    smartctl -i /dev/sda |egrep 'Model Family|Device Model|Serial Number'

    或者

    hdparm -i /dev/sda |grep Model

     

    4. 查看声卡、网卡、显卡、USB控制器型号信息

    4.1. lspci简介

    PCIPeripheral Component Interconnect(外围设备互联)的简称,普遍使用在桌面及更大型的计算机上的外设总线。PCI架构被设计为ISA标准的替代品,它有三个主要目标:获得在计算机和外设之间传输数据时更好的性能;尽可能的平台无关;简化往系统中添加和删除外设的工作。lspci命令就是用来显示所有pci设备的信息。

    4.2. lspci参数选项

    -n:以数字方式显示PCI厂商和设备代码;

    -t:以树状结构显示PCI设备的层次关系,包括所有的总线、桥、设备以及它们之间的联接;

    -b:以总线为中心的视图;

    -d:仅显示给定厂商和设备的信息;

    -s:仅显示指定总线、插槽上的设备和设备上的功能块信息;

    -i:指定PCI编号列表文件,而不使用默认的文件;

    -m:以机器可读方式显示PCI设备信息.

    4.3. 应用

    1、查看声卡设备型号信息:lspci  |grep -i audio

    2、查看网卡设备型号信息:lspci  |grep -i Ethernet

    3、查看显卡设备型号信息:lspci  |grep -i vga

    4、查看USB控制器参数信息:lspci|grep -i usb

      

  • 相关阅读:
    用spring的InitializingBean作初始化
    LinkedList源码分析
    CgLib动态代理
    DB2删除表分区
    spring aop搭建redis缓存
    List怎么遍历删除元素
    线程池ExecutorService和完成服务CompletionService的使用获取线程的返回结果
    synchronized与static synchronized 的区别
    将spring管理的bean使用注解的方式注入到servlet中
    eclipse右击打war包class没打上去的问题
  • 原文地址:https://www.cnblogs.com/cooper-73/p/15433219.html
Copyright © 2020-2023  润新知