zoukankan      html  css  js  c++  java
  • centos6.x硬件信息统计脚本

    #!/bin/bash
     
    Line='==========='
     
    #linux发行版名称
    if [[ -f /usr/bin/lsb_release ]]; then
    OS=$(/usr/bin/lsb_release -a |grep Description |awk -F : '{print $2}' |sed 's/^[ t]*//g')
    else
    OS=$(cat /etc/issue |sed -n '1p')
    fi
     
    echo -e "${Line}
    OS:
    ${OS}
    ${Line}"
     
    ######################################################################################################
     
    #查看系统是否为64位:uname -m,若出现x86_64,则为64位
    OS_version=$(uname -m)
    echo -e "OS_version:
    ${OS_version}
    ${Line}"
     
     
    #系统内核版本
    kernel_version=$(uname -r)
    echo -e "Kernel_version:
    ${kernel_version}
    ${Line}"
     
    #cpu型号
    CPU=$(grep 'model name' /proc/cpuinfo |uniq |awk -F : '{print $2}' |sed 's/^[ t]*//g' |sed 's/ +/ /g')
    echo -e "CPU model:
    ${CPU}
    ${Line}"
     
    #物理cpu个数
    Counts=$(grep 'physical id' /proc/cpuinfo |sort |uniq |wc -l)
    echo -e "Total of physical CPU:
    ${Counts}
    ${Line}"
     
    #物理cpu内核数
    Cores=$(grep 'cpu cores' /proc/cpuinfo |uniq |awk -F : '{print $2}' |sed 's/^[ t]*//g')
    echo -e "Number of CPU cores
    ${Cores}
    ${Line}"
     
    #逻辑cpu个数
    PROCESSOR=$(grep 'processor' /proc/cpuinfo |sort |uniq |wc -l)
    echo -e "Number of logical CPUs:
    ${PROCESSOR}
    ${Line}"
     
    #查看CPU当前运行模式是64位还是32位
    Mode=$(getconf LONG_BIT)
    echo -e "Present Mode Of CPU:
    ${Mode}
    ${Line}"
     
     
    #查看CPU是否支持64位技术:grep 'flags' /proc/cpuinfo,若flags信息中包含lm字段,则支持64位
    Numbers=$(grep 'lm' /proc/cpuinfo |wc -l)
    if (( ${Numbers} > 0)); then lm=64
    else lm=32
    fi
    echo -e "Support Mode Of CPU:
    ${lm}
    ${Line}"
    ######################################################################
     
    #Memtotal 内存总大小
    Total=$(cat /proc/meminfo |grep 'MemTotal' |awk -F : '{print $2}' |sed 's/^[ t]*//g')
    echo -e "Total Memory:
    ${Total}
    ${Line}"
     
    #系统支持最大内存
    Max_Capacity=$(dmidecode -t memory -q |grep 'Maximum Capacity' |awk -F : '{print $2}' |sed 's/^[ t]*//g')
    echo -e "Maxinum Memory Capacity:
    ${Max_Capacity}
    ${Line}"
     
    #查看内存类型、频率、条数、最大支持内存等信息:dmidecode -t memory,或dmidecode | grep -A16 "Memory Device$"
    #下面为统计内存条数
    Number=$(dmidecode | grep -A16 "Memory Device$" |grep Size|sort |sed 's/^[ t]*//g'| grep -v 'No Module Installed' | wc -l)
    echo -e "Number of Physical Memory:
    ${Number}
    ${Line}"
     
     
    #SwapTotal swap分区总大小
    SwapTotal=$(cat /proc/meminfo |grep 'SwapTotal' |awk -F : '{print $2}' |sed 's/^[ t]*//g')
    echo -e "Total Swap:
    ${SwapTotal}
    ${Line}"
     
    #Buffers size
    Buffers=$(cat /proc/meminfo |grep 'Buffers' |awk -F : '{print $2}' |sed 's/^[ t]*//g')
    echo -e "Buffers:
    ${Buffers}
    ${Line}"
     
    #Cached size
    Cached=$(cat /proc/meminfo |grep '<Cached>' |awk -F : '{print $2}' |sed 's/^[ t]*//g')
    echo -e "Cached:
    ${Cached}
    ${Line}"
     
    #空闲内存 + buffers/cache
    Available=$(free -m |grep - |awk -F : '{print $2}' |awk '{print $2}')
    echo -e "Available Memory:
    ${Available} MB
    ${Line}"
     
    #显示硬盘,以及大小
    Disk=$(fdisk -l |grep 'Disk' |awk -F , '{print $1}' | sed 's/Disk identifier.*//g' | sed '/^$/d')
    echo -e "Amount Of Disks:
    ${Disk}
    ${Line}"
     
    #各挂载分区使用情况
    Partion=$(df -hlP |sed -n '2,$p')
    echo -e "Usage Of partions:
    ${Partion}
    ${Line}"
  • 相关阅读:
    【开发技术】Eclipse设置软tab(用4个空格字符代替)及默认utf-8文件编码(unix)
    【开发技术】Xcode3与xcode4.2模板对比(Xcode4.2开发之一些变化)
    cobol
    头文件的相互包含会导致错误
    ndk eclipse集成
    为何要用到NDK?
    Android之NDK开发
    一个完整的NDK编译过程
    NDK中 .so文件的加载
    Android.mk 变量解释
  • 原文地址:https://www.cnblogs.com/chongchong88/p/5538569.html
Copyright © 2011-2022 走看看