获取服务器性能信息——简单版

本文介绍了一个用于监控系统资源(包括CPU使用率、内存使用情况和交换空间使用情况)的Shell脚本。该脚本通过解析`top`命令的输出来获取所需的数据,并将这些数据追加到一个文件中进行记录。为了实现定期监控,建议设置定时任务。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

#!/bin/sh
export TERM=xterm 
rm -rf top.info
home_dir=`pwd`
cd $home_dir
if [ ! -f $home_dir/system.info ];then
touch system.info
echo "day_tim|cpu_cost|mem_cost|swap_cost" >> system.info
fi
#top |head -5 >> top.info
top -bn 1|head -5|sed 's/ /abcdefg/g' > $home_dir/top.info
#top -d 1 -n 1 -b|head -5|sed 's/ /abcdefg/g' > $home_dir/top.info
tim(){
day=`date +%Y-%m-%d`
tim=`head -1 ${home_dir}/top.info|awk -F 'abcdefg|abcdefgabcdefg' '{print " "$3}'`
day_tim=$day$tim
}
cpu(){
cpuleft=`head -3 ${home_dir}/top.info|tail -1|awk -F 'abcdefg|abcdefgabcdefg' '{print $8}'`
cpu_use=`echo 100 - $cpuleft|bc`
cpu_cost=`echo "scale=2;$cpu_use/100"|bc`
}


mem(){
mem_total=`head -4 ${home_dir}/top.info|tail -1|awk -F 'abcdefg|abcdefgabcdefg' '{print $3}'`
mem_free=`head -4 ${home_dir}/top.info|tail -1|awk -F 'abcdefg|abcdefgabcdefg' '{print $7}'`
mem_use=`echo "scale=2;$mem_total-$mem_free"|bc`
mem_cost=`echo "scale=2;$mem_use/$mem_total"|bc`
}
swap(){
swap_total=`tail -1 ${home_dir}/top.info|awk -F 'abcdefg|abcdefgabcdefg' '{print $3}'`
swap_use=`tail -1 ${home_dir}/top.info|awk -F 'abcdefg|abcdefgabcdefg' '{print $8}'`
swap_cost=`echo "scale=2;$swap_use/$swap_total"|bc`
}
zhuijia(){
echo -n $day_tim"|" >> $home_dir/system.info
echo -n $cpu_cost"|" >> $home_dir/system.info
echo -n $mem_cost"|" >> $home_dir/system.info
echo $swap_cost >> $home_dir/system.info
rm -rf $home_dir/top.info
}
tim
cpu
mem
swap
zhuijia

此脚本需要设置定时任务crontab来时间记录

转载于:https://www.cnblogs.com/wjlv/p/10582982.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值