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 ' 

    未完待续 ....

  • 相关阅读:
    一行代码搞定Dubbo接口调用
    测试周期内测试进度报告规范
    jq 一个强悍的json格式化查看工具
    浅析Docker容器的应用场景
    HDU 4432 Sum of divisors (水题,进制转换)
    HDU 4431 Mahjong (DFS,暴力枚举,剪枝)
    CodeForces 589B Layer Cake (暴力)
    CodeForces 589J Cleaner Robot (DFS,或BFS)
    CodeForces 589I Lottery (暴力,水题)
    CodeForces 589D Boulevard (数学,相遇)
  • 原文地址:https://www.cnblogs.com/zhangdaifu/p/13366978.html
Copyright © 2011-2022 走看看