#Centos7 系统硬件检测
#####查看系统版本######
hostname=`hostname`
sys_version=` cat /etc/redhat-release `
kernel=`hostnamectl | grep 'Kernel' | awk -F: '{print $2}'`
architecture=` hostnamectl | grep 'Arch' | awk -F: '{print $2}'`
echo "主机名:$hostname"
echo "系统版本:$sys_version"
echo "内核版本:$kernel"
echo "系统架构:$architecture"
###########1.CPU###################
# 总核数 = 物理CPU个数 X 每颗物理CPU的核数
# 总逻辑CPU数 = 物理CPU个数 X 每颗物理CPU的核数 X 超线程数
#CPU型号
cpu_name=`cat /proc/cpuinfo | grep "model name" | awk -F: '{print $2}'`
#物理CPU个数
cpu_physical=`cat /proc/cpuinfo| grep "physical id" | sort | uniq | wc -l`
#每颗物理CPU的核数
cpu_cores=`cat /proc/cpuinfo | grep 'cores' | awk -F: '{print $2}'`
#是否超线程数
cpu_siblings=`cat /proc/cpuinfo | grep -e "siblings" `
#val=`expr $cpu_physical \* $cpu_cores`
#未超线程总核数
cpu_all_core=`expr $cpu_physical \* $cpu_cores`
#超线程总逻辑核数
cpu_all_core_logic=`expr $cpu_physical \* $cpu_cores \* $cpu_siblings`
echo "CPU型号: $cpu_name"
echo "物理CPU个数:$cpu_physical"
echo "每颗物理CPU的核数:$cpu_cores"
#是否为超线程?
#如果有两个逻辑CPU具有相同的”core id”,那么超线程是打开的。或者siblings数目比cpu cores数目大。
#每个物理CPU中逻辑CPU(可能是core, threads或both)的个数:
#cat /proc/cpuinfo | grep "siblings"
#判断是否超线程
if [ $cpu_physical == $cpu_cores ];then
echo "CPU未超线程,CPU总核数: $cpu_all_core "
else
echo "CPU超线程,CPU总核数: $cpu_all_core_logic "
fi
#############内存################
mem_free_total=`free -h | awk 'NR==2{print $2}'`
mem_free=` free -h | awk 'NR==2{print $4}'`
echo "总内存:$mem_free_total"
echo "剩余内存:$mem_free"
judge_install(){
if [ $? -eq 0 ];then
echo "lspci 已安装"
else
echo "lspci 未安装"
fi
}
######检查服务器硬件#####
#判断lspci是否安装
which lspci
judge_install
#查看服务器硬件是否有报错信息
lspci | egrep "error|ERROR"
if [ $? -eq 0 ];then
echo "发现服务器硬件错误"
else
echo "未发现服务器硬件错误"
fi
####服务器已挂载SCSI设备######
echo "服务器已挂载SCSI设备:"
lsscsi
执行结果:
[root@nginx ~]# bash sys-info.sh
主机名:nginx
系统版本:CentOS Linux release 7.2.1511 (Core)
内核版本: Linux 3.10.0-327.el7.x86_64
系统架构: x86-64
CPU型号: Intel(R) Core(TM) i3-6100 CPU @ 3.70GHz
物理CPU个数:1
每颗物理CPU的核数: 1
CPU未超线程,CPU总核数: 1
总内存:977M
剩余内存:77M
/usr/sbin/lspci
lspci 已安装
未发现服务器硬件错误
服务器已挂载SCSI设备:
[0:0:0:0] disk VMware, VMware Virtual S 1.0 /dev/sda
[2:0:0:0] cd/dvd NECVMWar VMware IDE CDR10 1.00 /dev/sr0