zoukankan      html  css  js  c++  java
  • Linux 查看服务器硬件信息

        本篇博客将介绍在Linux系统下查看服务器的各类硬件信息,文中的命令均由我自己编写整理并测试,如有问题,请及时告知,谢谢!

    一、查看服务器的SN

        dmidecode 命令可以查看系统中一些硬件的信息,包括主板、内存、 BIOS等一些信息

    方法一:使用文本处理三剑客(各司其职)取出机器的SN,此种方法看上去有点长,但适用于所有dmidecode版本

    dmidecode | grep -A10  'System Information' | grep -o 'Serial Number: .*'

    dmidecode | sed -n '/System Information/,/Serial Number: /s@^[[:space:]]@@p' | sed '/Serial Number/!d'

    dmidecode | awk '/System Information/,/Serial Number: /' | awk '/Serial Number: /' | awk -F'Serial Number: ' '{print $NF}'

     ........还有很多,我就不一一列举了

    方法二:使用dmidecode的专用选项直接取出机器的SN,此种方法比较简单,但是dmidecode部分版本不支持该选项

    dmidecode -s system-serial-number

    方法三:使用dmidecode的选项+grep工具过滤出机器的SN,dmidecode部分版本不支持该选项

    dmidecode -t system | grep -i 'serial number'

    二、查看IPMI的SN

    ipmitool fru print | grep "Product Serial"

    ipmitool fru print | awk '/Product Serial/' | awk -F 'Product Serial[[:space:]]*[:][[:space:]]+' '{print $NF}'

    三、查看服务器的厂商和型号

    dmidecode | awk '/System Information/,/Product Name: /' | sed 's|^[[:space:]]*||'

    dmidecode | sed -n '/System Information/,/Product Name: /p' | egrep -o 'Manufacturer.*|Product Name.*'

    四、查看CPU信息

    查看CPU型号

    grep 'model name' /proc/cpuinfo | uniq

    查看CPU数量(主板上实际插入的CPU数量)

    grep 'physical id' /proc/cpuinfo | sort | uniq | wc -l

    查看CPU制造商

    awk -F: '/vendor_id/{print $2}' /proc/cpuinfo  | uniq

    grep 'vendor_id' /proc/cpuinfo | uniq | awk -F: '{print $2}'

    查看每颗物理CPU的核心数

    grep 'cores' /proc/cpuinfo | uniq

    查看CPU主频

    grep 'cpu MHz' /proc/cpuinfo | uniq

    查看CPU二级缓存

    grep 'cache size' /proc/cpuinfo

    查看是否开启超线程

    egrep 'cpu cores|siblings' /proc/cpuinfo | sort | uniq

    如果cpu cores数量和siblings数量一致,则没有启用超线程,如果cpu cores是siblings数量的二倍,则表示超线程已启用

    查看逻辑CPU数量

    grep 'processor' /proc/cpuinfo

    grep 'processor' /proc/cpuinfo | wc -l

    查看CPU全部信息

    cat /proc/cpuinfo

    lscpu

    五、查看内存信息

    查看内存使用情况

    free -m/-g

    查看内存详细信息

    cat /proc/meminfo

    查看已使用内存槽位

    dmidecode | grep -i 'Locator' | grep -v -i 'Bank' | grep -v -i 'NO DIMM'

    dmidecode | grep -i 'Locator.*' | egrep -v -i '(Bank|NO DIMM)' | sed 's@[[:space:]]*@@'

    dmidecode | awk  '/Memory Device/,/DMI type/' | sed '/Bank Locator/d' | xargs | awk 'BEGIN{ RS="Memory Device" } {print $0}' | sed '/NO DIMM/d' | awk ' /Serial Number:/' | grep -o '<Locator: [[:alnum:]_]*' 

    dmidecode | awk  '/Memory Device$/,/Size:/' | sed '/No Module Installed/d' | grep 'Size'

    查看内存数量和内存容量

    dmidecode | awk  '/Memory Device/,/DMI type/'  | grep -o 'Range Size:.*'

    dmidecode | awk  '/Memory Device/,/DMI type/'  | grep 'Size' | grep -v 'No Module Installed'  | grep -o 'Range Size:.*'

    dmidecode | awk  '/Memory Device$/,/DMI type/' | grep -v 'No Module Installed' | egrep -o '^([[:space:]])*Size:.*'

    dmidecode | awk  '/Memory Device$/,/DMI type/' | grep 'Size' | grep -v 'No Module Installed'

    查看已识别的内存的SN(文本处理三剑客,各司其职)

    dmidecode | grep -A14 'Memory Device$' | grep -o 'Serial Numbe.*' | grep -v 'Serial Number: NO DIMM'

    dmidecode | sed -n '/Memory Device$/,/Serial Number/p' | sed -n '/Serial Numbe/p' | sed -r '/Serial Number: NO DIMM|Battery/d' | sed 's@^[[:space:]]*@@g'

    dmidecode | awk  '/Memory Device$/,/DMI type/' | awk '/Serial Number: [^NO DIMM]/'

     查看最大支持多大内存

    dmidecode | grep 'Maximum Capacity'

    dmidecode | grep 'Maximum Total Memory Size'

     查看内存大小、接口、频率、SN信息

    dmidecode | awk  '/Memory Device$/,/DMI type/' | egrep '(Memory Device|Size:|Locator:|Speed:|Serial Number:)' | xargs | awk 'BEGIN{ RS="Memory Device" } {print $0}' | sed -r '/NO DIMM|No Module/d' | sed 's|^[[:space:]]+||'

    dmidecode | awk  '/Memory Device$/,/DMI type/' | awk '/Memory Device|Size|Locator|Bank Locator|Speed|Serial Number/' | xargs | awk 'BEGIN{ RS="Memory Device" }{if ( $0 !~ /NO DIMM|No Module Installed/ ) print $0}' | awk '{ gsub ("^ ","",$0); print}'

    dmidecode | sed -n '/Memory Device$/,/DMI type/p' | sed -nr '/(Memory Device|Size:|Locator:|Speed:|Serial Number:)/p' | sed ':a;N;$!ba;s| ||g' | sed 's|Memory Device| |g' | sed -r '/(NO DIMM|No Module Installed)/d'

     六、查看硬盘信息

    查看磁盘分区信息

    fdisk -l

    parted -ls

    查看硬盘挂载情况

    mount

    cat /proc/mounts

    df -hT

    查看单个分区信息

    fdisk -l /dev/sdX

    parted /dev/sdX print

    查看系统已识别的磁盘大小

    fdisk -l | grep 'Disk'

    parted -ls | grep 'Disk'

    查看系统已识别的硬盘的SN

    for D in /dev/sd[a-z];do echo $D; smartctl -i $D | grep '^Serial Number';done

    for D in /dev/sd[a-z];do smartctl -i $D | grep '^Serial Number' | awk -F'Serial Number:[[:space:]]*' '{print $NF}';done

    for D in /dev/sd[a-z];do smartctl -i $D | grep '^Serial Number';done | awk -F':' '{print $NF}' | xargs | sed 's| |, |g'

    for D in /dev/sd[a-z];do smartctl -i $D | grep '^Serial Number' | awk -F'Serial Number:[[:space:]]*' '{print $NF}' ;done | xargs | awk '{gsub(" ",", ",$0);print}'

    查看单个硬盘的SN

    smartctl -i /dev/sdX | grep  '^Serial Number'

    查看硬盘型号

    smartctl -i /dev/sdX | grep '^Device Model: '

    判断硬盘是HDD还是SSD

    for Device in $(ls /dev/sd[a-z] | grep -o 'sd[a-z]');do echo ------ $Device ------ ; Type=$(cat /sys/block/$Device/queue/rotational); [ $Type -eq 0 ] && echo 'SSD' || echo 'HHD' ; done

    七、查看陈列卡

    LSI陈列卡使用MegaCli和storcli工具

    查看RAID卡信息

    MegaCli -AdpAllInfo -aALL

    storcli show all

    查看RAID中硬盘信息

    MegaCli -PDList –aALL

    storcli /c0 show          // 0为第1个RAID卡

    注意:MegaCli命令是Linux命令中为数不多的由大小写字母组成的命令

    HP的服务器使用hpacucli工具

    查看RAID卡信息

    hpacucli ctrl all show

    hpacucli ctrl all show detail

    查看RAID中硬盘信息

    hpssacli ctrl slot=0 pd all show

    hpssacli ctrl slot=0 pd all show status

    八、查看GPU(显卡)

    查看系统上所有GPU的SN

    nvidia-smi -a | grep -o 'Serial Number.*.*'

    nvidia-smi -q | grep -o 'Serial Number.*.*'

    nvidia-smi -a | awk '/Serial Number/' | awk -F': ' '{print $NF}'

    nvidia-smi -q | awk '/Serial Number/' | awk -F': ' '{print $NF}'

    查看系统上的识别的GPU数量和对应的UUID

    lspci | grep -i 'NVIDIA'

    nvidia-smi -L

    nvidia-smi --list-gpus

    显示所需信息

    nvidia-smi -q | sed -r '/<(GPU 00000000|Attached GPUs|Serial Number|GPU UUID|Product Name|Product Brand|Driver Model|Minor Number|VBIOS Version|Fan Speed)>/!d;/GPU 00000000.*/i ' 

    未完待续 ....

  • 相关阅读:
    docker构建镜像
    SpringBoot 配置的加载
    Gradle实战(02)--Gradle Build的创建
    Gradle实战(01)--介绍与安装
    统计最常用10个命令的脚本
    jackson序列化与反序列化的应用实践
    go http请求流程分析
    java线程的3种实现方式及线程池
    git多账号使用
    java多版本管理
  • 原文地址:https://www.cnblogs.com/zhangdaifu/p/13366978.html
Copyright © 2011-2022 走看看