- PHYSICAL・・・物理CPU数
- HT・・・ハイパースレッディング(1:有効, 0:無効)
- INSTALL・・・OSをインストールした日(だと予想)
- MEM・・・スワップは考慮してないです。スワップしているサーバなんて・・・
get_spec.sh
#!/bin/sh
##
# output sample
##
# ============
# server.local
# ============
#
# SYSTEM
# ====================
# OS : CentOS release 6.5 (Final)
# INSTALL : 2013-12-01
# ARCH : x86_64
#
# CPU
# ====================
# NAME : Intel(R) Core(TM) i5-4440 CPU @ 3.10GHz
# PHYSICAL: 1
# CORE : 4
# HT : 0
# CLOCK : 3.10GHz
# CACHE : 6MB
#
# MEM (MB)
# ====================
# TOTAL : 7555
# USE : 1269
# FREE : 6285
set -eu
CPUINFO="/proc/cpuinfo"
MEMINFO="/proc/meminfo"
if [ -e "/etc/redhat-release" ];then
RELEASE_INFO="/etc/redhat-release"
elif [ -e "/etc/debian_version" ];then
RELEASE_INFO="/etc/debian_version"
fi
INSTALL=`stat -L $RELEASE_INFO | grep Modify | cut -d " " -f 2`
ARCH=`uname -m`
CPU_PHYSICAL=`grep "physical id" $CPUINFO | sort | uniq | wc -l`
CPU_CORE=`grep "cpu cores" $CPUINFO | tail -n 1 | awk '{print $NF}'`
CPU_MAXID=`grep "core id" $CPUINFO | wc -l`
CPU_NAME=`grep "model name" $CPUINFO | cut -d ":" -f 2 | tail -n 1`
CPU_CLOCK=`echo $CPU_NAME | awk '{print $NF}'`
CPU_CACHE=`grep "cache size" $CPUINFO | tail -n 1 | cut -d " " -f 3 | awk '{printf "%d", $1/1000}'`
MEM_TOTAL=`free -m | awk '/Mem/{print $2}'`
MEM_USE=`free -m | awk '/-\/+/{print $3}'`
MEM_FREE=`free -m | awk '/-\/+/{print $4}'`
echo "============"
echo `hostname`
echo "============"
echo
echo "SYSTEM"
echo "===================="
echo " OS : `cat ${RELEASE_INFO}`"
echo " INSTALL : ${INSTALL}"
echo " ARCH : ${ARCH}"
echo
echo "CPU"
echo "===================="
echo " NAME :" ${CPU_NAME}
echo " PHYSICAL:" ${CPU_PHYSICAL}
echo " CORE :" ${CPU_CORE}
if [ $CPU_CORE -lt $CPU_MAXID ];then
echo " HT :" 1
else
echo " HT :" 0
fi
echo " CLOCK :" ${CPU_CLOCK}
echo " CACHE :" ${CPU_CACHE}MB
echo
echo "MEM (MB)"
echo "===================="
echo " TOTAL :" ${MEM_TOTAL}
echo " USE :" ${MEM_USE}
echo " FREE :" ${MEM_FREE}