#!/bin/bash
######################################
#获取硬件信息
#version:1.0
#date:2013-12-11
#by soarwilldo
######################################
#测试系统:centos6.4 x64
######################################
Line='==========='
#cpu型号
CPU=$(grep 'model name' /proc/cpuinfo |uniq |awk -F : '{print $2}' |sed 's/^[ \t]*//g' |sed 's/ \+/ /g')
echo -e "CPU model:\n${CPU}\n${Line}"
#物理cpu个数
Counts=$(grep 'physical id' /proc/cpuinfo |sort |uniq |wc -l)
echo -e "Total of physical CPU:\n${Counts}\n${Line}"
#cpu核心个数
PROCESSOR=$(grep 'processor' /proc/cpuinfo |sort |uniq |wc -l)
echo -e "Number of logical CPUs:\n${PROCESSOR}\n${Line}"
#cpu使用率
    a=(`cat /proc/stat | grep -E "cpu\b" | awk -v total=0 '{$1="";for(i=2;i<=NF;i++){total+=$i};used=$2+$3+$4+$7+$8 }END{print total,used}'`)
    sleep 1
    b=(`cat /proc/stat | grep -E "cpu\b" | awk -v total=0 '{$1="";for(i=2;i<=NF;i++){total+=$i};used=$2+$3+$4+$7+$8 }END{print total, used}'`)
    cpu_usage=$(((${b[1]}-${a[1]})*100/(${b[0]}-${a[0]})))
echo -e "Usage of CPU:\n${cpu_usage}%\n${Line}"
#Memtotal 内存总大小
Memtotal=$(free -m |grep 'Mem:' |awk -F : '{print $2}' |awk '{print $1}')
echo -e "Used Memory:\n${Memtotal} MB\n${Line}"
#已用内存
Memused=$(free -m |grep - |awk -F : '{print $2}' |awk '{print $1}')
echo -e "Used Memory:\n${Memused} MB\n${Line}"
#空闲内存 + buffers/cache
Available=$(free -m |grep - |awk -F : '{print $2}' |awk '{print $2}')
echo -e "Available Memory:\n${Available} MB\n${Line}"
#显示硬盘个数
Disk_num=$(fdisk -l |grep 'Disk' |grep -v 'VolGroup' |awk -F , '{print $1}' | sed 's/Disk identifier.*//g' | sed '/^$/d'|wc -l)
echo -e "Number Of Disks:\n${Disk_num}\n${Line}"
#显示硬盘,以及大小
Disk=$(fdisk -l |grep 'Disk' |grep -v 'VolGroup' |awk -F , '{print $1}' | sed 's/Disk identifier.*//g' |sed 's/Disk //g' | sed '/^$/d')
echo -e "Amount Of Disks:\n${Disk}\n${Line}"
#各挂载分区使用情况
Partion=$(df -hlP |sed -n '2,$p')
echo -e "Usage Of partions:\n${Partion}\n${Line}"