我们买到一台服务器的话会检测服务器的硬件配置是否如商家所描述,以及是否符合我们的要求。这对于一般大型商家来说通常没有问题,但有一些小商家就难说了,这个脚本可以一键测试服务器的CPU信息。
#! /bin/bash V_CPU_VENDOR=$(cat /proc/cpuinfo|grep "vendor_id"|uniq|awk '{print $3}') V_CPU_MODEL=$(cat /proc/cpuinfo |grep "model name"|sort|uniq|awk -F "[:]" '{print $2}') V_CPU_PHY=$(cat /proc/cpuinfo|grep "physical id"|sort|uniq|wc -l) V_CPU_CORE=$(cat /proc/cpuinfo|grep "core id"|sort|uniq|wc -l) V_CPU_LOG=$(cat /proc/cpuinfo|grep "siblings"|sort|uniq|awk '{print $NF}') V_CPU_ALL=$(cat /proc/cpuinfo|grep "processor"|sort|uniq|wc -l) V_CPU_BIT=$(cat /proc/cpuinfo|grep flag|uniq|grep lm|wc -l) V_SYS_BIT=$(getconf LONG_BIT) V_CPU_HYPER="" if [ $V_CPU_LOG -gt $V_CPU_CORE ]; then V_CPU_HYPER="enabled" elif [ $V_CPU_LOG -eq $V_CPU_CORE ]; then V_CPU_HYPER="disable" else V_CPU_HYPER="may be something wrong here, please checking manual !" fi V_CPU_VT="" cat /proc/cpuinfo|grep -E 'vmx|svm' > /dev/null 2>&1 && V_CPU_VT="supported" || V_CPU_VT="nonsupport" V_CPU_FLAG_ALL=$(cat /proc/cpuinfo|grep "flags"|awk -F ":" '{print $NF}'|sort|uniq) echo -n "服务器生产厂商为: " echo "$V_CPU_VENDOR" echo -n "服务器CPU型号为: " echo "$V_CPU_MODEL" echo -n "服务器物理CPU个数为: " echo "$V_CPU_PHY" echo -n "服务器单颗CPU物理核心数: " echo "$V_CPU_CORE" echo -n "服务器单颗物理包含逻辑CPU核心数: " echo "$V_CPU_LOG" echo -n "服务器CPU核心总数: " echo "$V_CPU_ALL" echo -n "超线程启用情况: " echo "$V_CPU_HYPER" echo -n "虚拟化支持情况: " echo "$V_CPU_VT" echo -n "操作系统位数: " echo "$V_SYS_BIT 位" if [ $V_CPU_BIT -gt 0 ]; then echo "CPU位数为: 64位" else echo "may be 32 bit, please checking manual !" fi echo -n "当前处理器全部标记: " echo "$V_CPU_FLAG_ALL"
首先把代码块的内容粘贴到shell脚本里面。授予脚本文件执行权限。然后通过点斜杠./加上文件名的方式去执行。类似结果如下:
服务器生产厂商为: GenuineIntel 服务器CPU型号为: Intel(R) Core(TM) i3-3217U CPU @ 1.80GHz 服务器物理CPU个数为: 2 服务器单颗CPU物理核心数: 2 服务器单颗物理包含逻辑CPU核心数: 2 服务器CPU核心总数: 4 超线程启用情况: disable 虚拟化支持情况: supported 操作系统位数: 64 位 CPU位数为: 64位 当前处理器全部标记: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca
执行后看到的信息大概这样。