关于centos7:监控Linux服务器CPU和内存

6次阅读

共计 853 个字符,预计需要花费 3 分钟才能阅读完成。

利用脚本获取 Linux 服务器的 CPU 和内存。

须要装置 bc 计算器

yum install -y bc

创立执行脚本

计算 CPU 利用率,配置了 5 秒采样。

执行脚本,5 秒后输入 采集日期 |CPU 负载 | 可用内存 | 总内存

#!/bin/sh
##echo user nice system idle iowait irq softirq
CPULOG_1=$(cat /proc/stat | grep 'cpu' | awk '{print $2" "$3" "$4" "$5" "$6" "$7" "$8}')
SYS_IDLE_1=$(echo $CPULOG_1 | awk '{print $4}')
Total_1=$(echo $CPULOG_1 | awk '{print $1+$2+$3+$4+$5+$6+$7}')

# 休眠 5 秒,持续采样
sleep 5

CPULOG_2=$(cat /proc/stat | grep 'cpu' | awk '{print $2" "$3" "$4" "$5" "$6" "$7" "$8}')
SYS_IDLE_2=$(echo $CPULOG_2 | awk '{print $4}')
Total_2=$(echo $CPULOG_2 | awk '{print $1+$2+$3+$4+$5+$6+$7}')

SYS_IDLE=`expr $SYS_IDLE_2 - $SYS_IDLE_1`

Total=`expr $Total_2 - $Total_1`
SYS_USAGE=`expr $SYS_IDLE/$Total*100 |bc -l`

SYS_Rate=`expr 100-$SYS_USAGE |bc -l`

Disp_SYS_Rate=`expr "scale=3; $SYS_Rate/1" |bc`
echo $Disp_SYS_Rate%

# 减少内存统计
Memory=`free -m | awk 'NR==2{print $4"|"$2}'`
# 采集日期 | CPU 负载 | 可用内存 | 总内存
echo `date '+%Y-%m-%d %H:%M'`"|"$Disp_SYS_Rate%"|"$Memory
exit 0

在 CentOS7 上测试通过。

正文完
 0