获取当前机器的系统指标

获取当前机器的系统指标


#!/bin/bash

#参下边文章
#http://www.cnblogs.com/emanlee/p/3587571.html
#http://www.2cto.com/os/201209/152795.html
#http://www.xuebuyuan.com/2192175.html
#http://blog.csdn.net/killermyth/article/details/39031819
#http://blog.chinaunix.net/uid-27050514-id-3862478.html


function system_base_data()
{
	cpu_count=`cat /proc/cpuinfo| grep "physical id"| sort| uniq| wc -l`
	echo "物理CPU数量:"$cpu_count

	cpu_kernel_count=`cat /proc/cpuinfo| grep "cpu cores"| uniq`
	echo "每个物理CPU核数:"$cpu_kernel_count

	cpu_processor_count=`cat /proc/cpuinfo| grep "processor"| wc -l`
	echo "逻辑CPU数量:"$cpu_processor_count

	cpu_type=`cat /proc/cpuinfo | grep name | cut -f2 -d: | uniq -c`
	echo "CPU类型:"$cpu_type

	mem_all=`free -g|sed -n "2p" |awk '{print $2}'`
	echo "内存共计:"$mem_all"GB"
}
function now_system_data()
{
	#Cpud=$(iostat -c 1 2|awk 'NR==7 {print 100.0-$6}')
	#echo "CPU use[iostat]:"$Cpud"%"
	cpuuse=`top -b -n2 -p 1 | fgrep "Cpu(s)" | tail -1 | awk -F'id,' -v prefix="$prefix" '{ split($1, vs, ","); v=vs[length(vs)]; sub("%", "", v); printf "%s%.1f\n", prefix, 100 - v }'`
	#echo "CPU use[top]:"$cpuuse"%"
	#cpusar=`sar -n DEV -u 1 1 |grep all| awk '{print $3}'`
	#echo "CPU use[sar]:"$cpusar"%"

	#Memtotal=$(free |sed -n "2p"|awk '{print $2}')
	#Memuser=$(free |sed -n "3p"|awk '{print $3}')
	#MEM=$(awk 'BEGIN {x='$Memuser';y='$Memtotal';printf "%.2f\n",(x/y)*100}')
	#echo "MEM use[free]:"$MEM"%"
	mem=`free -m|grep Mem|awk '{print ($3-$6-$7)/$2*100.0}'`
	#echo "MEM use[free]:"$mem"%"

	Swaptotal=`free |sed -n "4p"|awk '{print $2}'`
	Swapuser=`free |sed -n "4p"|awk '{print $3}'`
	SWAP=$(awk 'BEGIN {x='$Swapuser';y='$Swaptotal';printf "%.2f\n",(x/(y+0.001))*100}')
	#echo "使用Swap:"$SWAP"%"

	rx=`sar -n DEV 1 1 |grep Average |grep bond0| awk '{print $5}'`
	tx=`sar -n DEV 1 1 |grep Average |grep bond0| awk '{print $6}'`
	#echo "rx:"$rx"k/s"
	#echo "tx:"$tx"k/s"

	load_1_minite=`uptime|awk -F"load average:" '{print $2}'|awk -F, '{print $1}'|sed 's/ *//'`
	#echo "最近1分钟Load:"$load_1_minite


	DATE=$(date +%Y%m%d)
	TIME=$(date +"%H:%M:%S")
	echo -e "name:\tnow_time\tcpu(%)\tmem(%)\trx(kb/s)\ttx(kb/s)\tload(last 1minite)"
	echo -e "data:\t"$TIME"\t"$cpuuse"\t"$mem"\t"$rx"\t"$tx"\t"$load_1_minite
}

system_base_data

#由于指标大约5秒钟采集一次,所以一天时间是24*60*60/5次采集
i=0
while(($i<24*60*60/5))
do
	now_system_data
done
USER=$(/usr/bin/who|awk '{print $1}'|xargs)





评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值