shell腳本監控CPU和內存利用率


1. 借助vmstat工具監控CPU利用率

#!/bin/bash

DATE=$(date +%F" "%H:%M)    //查詢腳本執行的日期賦值

MAIL="example@mail.com"      // 定義一個郵箱用來接受CPU信息

if ! which vmstat &>/dev/null; then    //判斷vmstat 命令是否存在

  echo "vmstat command no found, Please install procps package." exit 1

fi

US=$(vmstat |awk 'NR==3{print $13}')    //用戶進程使用CPU的時間

SY=$(vmstat |awk 'NR==3{print $14}')     //系統進程使用CPU的時間

USE=$(($US+$SY))            //CPU的使用時間

if [ $USE -ge 50 ]; then            //判斷CPU的進程使用時間是否大於50,大於50就打印時間和CPU進程的使用時間發送給指定的郵箱

  echo "                  

  Date: $DATE

  CPU utilization $USE " | mail -s "CPU Monitor" $MAIL    

fi

 

 

2. 用free命監控內存

#!/bin/bash

DATE=$(date +%F" "%H:%M)

MAIL="example@mail.com"

TOTAL=$(free -m |awk '/Mem/{print $2}')      //內存總的大小

USE=$(free -m |awk '/Mem/{print $3-$6}')     //使用的物理內存大小(used - buff-cache)

FREE=$(($TOTAL-$USE))             // 內存小於1G發送報警郵件

if [ $FREE -lt 1024 ]; then

   echo " Date: $DATE

   Total=$TOTAL,

    Use=$USE,

    Free=$FREE " | mail -s "Memory Monitor" $MAIL

fi


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM