一键脚本检查VPS服务器硬件配置及下载速度一键脚本检查VPS服务器硬件配置及下载速度

生命不息,
折腾不止!

一键脚本检查VPS服务器硬件配置及下载速度

一般我们购买到VPS服务器之后肯定需要检查当前VPS主机的配置是不是和我们购买时候商家说的一样配置,以及我们需要检查当前服务器的基本硬件稳定信息。然后加以我们使用建站或者项目用途的实际速度体验才是一个较为完整的服务器性能检测。在这篇文章中,将整理和分享这个一键脚本,可以用于检查服务器的信息。

第一、脚本地址

脚本:http://blog.xiaoyangge.com/tools/vpsinfo.sh

第二、脚本应用

wget http://blog.xiaoyangge.com/tools/vpsinfo.sh && sh vpsinfo.sh

第三、使用演示

 

 

这里我们可以看到,直接可以检测到当前服务器的IP地址、系统、发行版本、OPENVZ或者KVM,以及内存、硬盘等信息,其中还有检测到来自CACHEFIY的下载文件速度。

 

修改美化于 https://vhwinfo.com

vpsinfo.sh 源码

#!/bin/bash
 
clear
 
echo " -----------------------------------";
echo "           ^__^";
echo "           (oo)_______";
echo "            (__)       )/";
echo "                ||----w |";
echo "                ||     ||";
echo " --------blog.xiaoyangge.com-----------";
echo " ";
echo " ";
 
hostname=`hostname`
if [[ "$hostname" == *.* ]]
then
echo -e -n " hostname:\t "`hostname`
else
echo -e -n " hostname:\t "`hostname`.`dnsdomainname`
fi
 
 
ip=`wget -qO- --no-check-certificate http://vhwinfo.com/ipecho.php`
echo " (public ip "$ip")"
 
 
if hash sw_vers 2>/dev/null; then
 
# --------------------- MAC
 
virtual="It is not virtual, is dedicated"
 
echo -e " SO:\t\t "`sw_vers -productName` `sw_vers -productVersion`" (build "`sw_vers -buildVersion`")"
 
kernel_version=`system_profiler SPSoftwareDataType | grep 'Kernel Version:'`
 
echo -e " kernel:\t "${kernel_version:22}
echo -e " virtual:\t "$virtual
 
cpu=`sysctl -a machdep.cpu.brand_string`
echo -e " CPU:\t\t "${cpu:26}
cores=`sysctl hw.ncpu | awk '{print $2}'`
#cores=$((cores/2))
echo -e -n " vcpu:\t\t "$cores
if [[ $cores>1 ]]
then
echo " cores"
else
echo " core"
fi
 
ram=`sysctl hw.memsize`
ram=${ram:12}
ram=$((ram/1024/1024))
echo -e -n " RAM:\t\t "$ram "MB"
#if [[ $ram>1024 ]] then echo "gigas" fi
free=`vm_stat | grep 'Pages free:'`
free=${free:12}
free=${free%.*}
free=$((free*4))
free=$((free/1024))
free=$((free*100))
free=$((free/ram))
used=$((100-$free))
echo " ("$used"% used)"
 
hd=`diskutil info /dev/disk0 | grep 'Total Size:'`
hd=${hd:29}
hd=${hd%.*}
 
echo -e " HD:\t\t "$hd "GB"
 
speed="`wget -O /dev/null http://cachefly.cachefly.net/1mb.test 2>&1 | grep '\([0-9.]\+ [KM]B/s\)'`"
#pos=`expr index "$speed" "s"`
#echo $pos
speed=${speed:21}
speed=${speed%)*}
echo -e " cachefly 1Mb:\t "$speed
 
# --------------------- LINUX
else
 
virtual="It is not virtual, \e[42mis dedicated\e[0m"
 
 
kernel_version=`uname -r`
 
MACHINE_TYPE=`uname -m`
if [ ${MACHINE_TYPE} == 'x86_64' ]; then
bits=" 64 bits"  # 64-bit stuff here
else
bits=" 32 bits"  # 32-bit stuff here
fi
 
 
if hash lsb_release 2>/dev/null; 
 
then
 
soalt=`lsb_release -d`
echo -e " SO:\t\t "${soalt:13} $bits
 
else
 
so=`cat /etc/issue`
 
pos=`expr index "$so" 123456789`
 
so=${so/\/}
 
 
extra=""
 
 
if [[ "$so" == Debian*6* ]]; 
then
extra="(squeeze)"
fi
 
if [[ "$so" == Debian*7* ]]; 
then
extra="(wheezy)"
fi
 
if [[ "$so" == *Proxmox* ]]; 
then
so="Debian 7.6 (wheezy)";
fi
 
otro=`expr index "$so" \S`
 
if [[ "$otro" == 2 ]]; 
then
so=`cat /etc/*-release`
pos=`expr index "$so" NAME`
pos=$((pos-2))
so=${so/\/}
fi
 
 
 
echo -e " SO:\t\t "${so:0:($pos+2)} $extra$bits
 
 
fi
 
  
echo -e " kernel:\t "$kernel_version
 
 
if hash ifconfig 2>/dev/null; then
eth=`ifconfig`
else
eth=""
fi
 
virtualx=`dmesg`
 
 
if [[ "$eth" == *eth0* ]]; 
then
#virtual="It is not virtual, \e[42mis dedicated\e[0m"
 
if [[ "$virtualx" == *kvm-clock* ]]; 
then
virtual="KVM"
fi
 
if [[ "$virtualx" == *"VMware Virtual Platform"* ]]; 
then
virtual="VMware"
fi
 
if [[ "$virtualx" == *"Parallels Software International"* ]]; 
then
virtual="Parallels"
fi
 
if [[ "$virtualx" == *VirtualBox* ]]; 
then
virtual="VirtualBox"
fi
 
 
 
else
 
if [ -f /proc/user_beancounters ]
then
virtual="OpenVZ"
fi
 
fi
 
if [ -e /proc/xen ]
then
virtual="Xen"
fi
 
 
 
echo -e " virtual:\t "$virtual
 
 
cpu=`cat /proc/cpuinfo | grep "model name" | head -n 1`
bogo=`cat /proc/cpuinfo | grep "bogomips" | head -n 1`
 
  
cores=`grep -c processor /proc/cpuinfo`
 
    
if [[ "$cores" > 1 ]];
then
label="cores"
else
label="core"
fi
 
echo -e " cpu:\t\t "${cpu:13}
echo -e " vcpu:\t\t "$cores $label / ${bogo:11} bogomips
 
 
 
mem=`free -m`
 
pos=`expr index "$mem" M`
ram=${mem:($pos+10):10}
ram=${ram//[[:blank:]]/}
 
pos=`expr index "$mem" p`
swap=${mem:($pos+10):10}
swap=${swap//[[:blank:]]/}
 
busy=`free -t -m | egrep Mem | awk '{print $3}'`
busy=$((busy*100))
busy=$((busy/ram))
 
busy_swap=`free -t -m | egrep Swap | awk '{print $3}'`
busy_swap=$((busy_swap*100))
if (($swap>0))
then
busy_swap=$((busy_swap/swap))
fi
 
if (($busy>75)) 
then
label1="\e[43m"
label2="\e[0m"
else
label1=""
label2=""
if (($busy>90)) 
then
label1="\e[41m"
label2="\e[0m"
else
label1=""
label2=""
fi
 
fi
 
 
echo -e " RAM:\t\t "$ram" MB ("$label1$busy"% used"$label2")" / swap $swap MB "("$busy_swap"% used)"
 
total=`df -h --total | grep 'total' | awk '{print $2}'`
used=`df -h --total | grep 'total' | awk '{print $5}'`
used="${used//%}"
 
if (($used>75)) 
then
label1="\e[43m"
label2="\e[0m"
else
label1=""
label2=""
 
if (($used>90)) 
then
label1="\e[41m"
label2="\e[0m"
else
label1=""
label2=""
fi
 
fi
 
 
 
hdspeed=`dd if=/dev/zero of=ddfile bs=16k count=12190 2>&1`
sync
rm -rf ddfile
hdspeed1=" / inkling speed "`echo $hdspeed | grep "s, " | awk '{print $14}'`
hdspeed2=`echo $hdspeed | grep "s, " | awk '{print $15}'`
 
if (($used>0)) 
then
echo -e " HD:\t\t "$total "("$label1$used"% used"$label2")"$hdspeed1 $hdspeed2
else
echo -e " HD:\t\t (\e[43mMultiple partitions to check not allowed yet\e[0m)"$hdspeed1 $hdspeed2
fi
 
 
 
 
speed="`wget -O /dev/null http://cachefly.cachefly.net/10mb.test 2>&1 | grep '\([0-9.]\+ [KM]B/s\)'`"
pos=`expr index "$speed" "s"`
 
unidad=${speed:($pos-4):4}
speed=${speed:21:($pos-25)}
 
if [[ "$unidad" == "MB/s" ]]; 
then
pos=`expr index "$speed" .`
if (($pos<1))
then
pos=`expr index "$speed" ,`
fi
 
num=${speed:0:$pos-1}
 
if (($num>12)) 
then
extra="(\e[42mprobably Gigabit Port\e[0m)"
else
extra=""
fi
 
fi
 
echo -e " cachefly 10MB:\t "$speed $unidad $extra
 
 
fi
 
echo " "
 
# END

 

 

赞() 打赏
未经允许不得转载:我的博客 » 一键脚本检查VPS服务器硬件配置及下载速度
分享到: 更多 (0)

评论 4

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
  1. #1

    这是评论测试

    DUX主题小秘7个月前 (09-17)回复
    • 飞歌导航东方红烦得很

      themebetter主题小秘3周前 (04-08)回复
  2. #2

    这是新的一条评论

    DUX主题小秘7个月前 (09-17)回复
  3. #3

    未来一年,中国的移动支付市场会是什么样?

    DUX主题小秘7个月前 (09-17)回复

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏

大前端WP主题 更专业 更方便

联系我们 联系我们