LoginSignup
15
14

More than 5 years have passed since last update.

サーバのスペックを取得するスクリプト作った

Posted at
  • 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}
15
14
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
15
14