Linux下性能预警及应急处理

自己编写一个脚本程序,该程序在工作时段(8:00-22:00),每隔一个小时执行一次;在其他时段每隔两小时执行一次。

每次执行都要完成如下任务:

1、检测进程CPU占用率,如果超出30%开始预警,超出80%就把该进程取消;

2、检测进程内存占用率,如果超出30%开始预警,超出70%就把该进程取消;

3、检测所有磁盘分区使用情况,如果超出90%就开始预警;

4、检测所有进程,如果发现僵尸进程,就人为取消该进程;

说明:所谓的预警就是把事件的性质、发生时间以及被处理掉的进程等重要信息统一输出到某个日志文件中。

一、[root@Shawn-T2 ~]# crontab -e

加入以下命令:  *  8-22/1,22-7/2  *  *  *  sh  /monitor.sh

二、[root@Shawn-T2 ~]# vim monitor.sh

添加以下内容:

#!/bin/bash

#This script is used for monitoring system load.

time=`date +"%Y-%m-%d %H:%M:%S"`

ps aux |  grep -v 'USER' >> /tmp/temp.txt

while read -r line

do

declare -i CPUUsage=`echo $line | awk '{print $3}' | awk -F. ' {print $1}'`

MEMUsage=`echo $line | awk '{print $4}' | awk -F. '{print $1}'`

ProcessNum=`echo $line | awk '{print $2}'`

STAT=`echo $line | awk '{print $8}'`

Command=`echo $line | awk ' {print $11}'`

# Monitor CPU load.

if [ $CPUUsage -ge 80 ];then

kill -9 $ProcessNum

echo "$time  Process $Command occupies too large CPU space and was killed!" >>  /var/log/monitor.log

elif [ $CPUUsage -ge 30 ]; then

echo "$time  Process $Command occupies too large ,please check it!" >>  /var/log/monitor.log

fi

# Monitor Memory load.

if [ $MEMUsage -ge 70 ];then

kill -9 $ProcessNum

echo "$time  Memory $Command occupies too large memory space and was killed!" >>  /var/log/monitor.log

elif [ $CPUUsage -ge 30 ]; then

echo "$time  Memory $Command occupies too large ,please check it!" >>  /var/log/monitor.log

fi

# Monitor the zombie process.

if [ "$STAT" == "Z" ]; then

kill -9 $ProcessNum

echo "$time Process $Command is zombie process and was killed." >>  /var/log/monotor.log

fi

done < /tmp/temp.txt

rm -f /tmp/temp.txt

#Momitor the disk partition used space.

df | grep -v Filesystem > /tmp/temp.txt

while read -r line

do

declare -i DiskUsage=`echo $line | awk '{ if(NF==6){ print $5 }  else if(NF==5) { print $4 } }'| awk -F% '{print $1}'`

DirName=`echo $line | awk '{ if(NF==6){ print $6 }  else if(NF==5) { print $5 } }'| awk -F% '{print $1}'`

if [ $DiskUsage -ge 90 ];then

echo "$time The partitipn which the directory $DirName mounted on occupies too large space ,please check it." >> /var/log/monitor.log

fi

done < /tmp/temp.txt

rm -f /tmp/temp.txt

linux 监控进程撤销,linux 系统监控脚本相关推荐

  1. linux函数进程撤销,Linux进程控制函数

    1. fork() #include #include pid_t fork(void); @一个进程可以调用fork函数创建一个新进程,由fork创建的进程被称为子进程,子进程是父进程的副本,它将获 ...

  2. linux mrtg 进程名称,Linux Mrtg系统监控

    一.mrgt配置案例说明,这里以监控网卡为例 #通过public监控localhost上的192.168.1.68地址流量 Target[eth1_lan]:/192.168.1.68:public@ ...

  3. linux 监控进程重启,linux进程监控与自动重启的简单实现方法

    linux进程监控与自动重启的简单实现方法 目的: linux 下服务器程序会因为各种原因dump掉,就会影响用户使用,这里提供一个简单的进程监控和重启功能. 实现原理: 由定时任务crontab调用 ...

  4. linux nmon 进程io,linux监控占用磁盘IO进程的工具

    介绍 Linux下的IO统计工具如iostat, nmon等大多数是只能统计到per设备的读写情况, 如果你想知道每个进程是如何使用IO的就比较麻烦. 一.iotop详解 iotop 是一个用来监视磁 ...

  5. linux监控进程资源,linux系统资源监控命令

    查看系统发行版 root@cf0c6032ba2f:/# lsb_release -a No LSB modules are available. Distributor ID: Ubuntu Des ...

  6. go linux下进程守护,Linux系统进程管理-Go语言中文社区

    一.进程基础知识 1.1 Linux进程的概念 Process:是运行中的程序的一个副本,是被载入内存的一个指令集合.进程ID(Process ID,PID)号码被用来标记各个进程 UID.GID.和 ...

  7. linux crond进程多,Linux之定时任务Crond详解

    定时任务Crond介绍 Crond是linux系统中用来定期执行命令/脚本或指定程序任务的一种服务或软件,一般情况下,我们安装完Centos5/6 linux操作系统之后,默认便会启动Crond任务调 ...

  8. linux kernel 进程管理,Linux内核 | 进程管理

    1. 进程和线程 1.1 定义 进程是处于运行状态的程序和相关资源的总称,是资源分配的最小单位. 线程是进程的内部的一个执行序列,是CPU调度的最小单位.有一段可执行程序代码. 有一段进程专用的系统堆 ...

  9. linux mrtg 进程名称,linux mrtg

    mrtg 是linux下面一个非常简单的监控网络链路流量负载的一个软件,通过snmp协议得到各个需要监控设备的流量信息,并将流量负载以包含PNG格式的图形的HTML 文档方式显示出来,用户可以通过自己 ...

最新文章

  1. Linux下开发优秀链接
  2. 【STM32】FreeRTOS任务挂起和恢复API
  3. Caffe自己修改训练方法
  4. git学习(7):创建ssh key时遇到“Bad escape character ‘ygen’.”
  5. 《程序设计与数据结构》第八周学习总结
  6. 火狐firefox插件配合scrapy,注意tbody会导致empty
  7. 编写一个Java应用程序,从键盘读取用户输入两个字符串,并重载3个函数分别实现这两个字符串的拼接、整数相加和浮点数相加。要进行异常处理,对输入的不符合要求的字符串提示给用户,不能使程序崩溃。
  8. 给网页添加跟随你鼠标移动的线条动画
  9. python自定义函数两个返回值如何分别输出_第八讲 python自定义函数返回值
  10. Notes配置初始化和重新设置(不卸载)
  11. EasyGBS对GB35114的支持
  12. 2022年最值得学习的5款开源Java框架
  13. python版使用tinypng压缩图片大小
  14. 汇编语言学习资料汇总
  15. moss2007升级到moss2010之准备
  16. Flink大数据计算框架
  17. 前端笔记(11) Vue3 Router 编程式导航 router.push router.replace
  18. 618来了云服务器商家疯了
  19. 积跬步,聚小流------ps实用小技巧,改变png图标颜色
  20. java开发之经验之谈

热门文章

  1. linux系统pkl,(网摘)Linux新手必看:浅谈如何学习linux
  2. h0103. 末日算法 (10 分)
  3. 孙武玩《魔兽》?有图有真相
  4. 阿斯麦CEO:中国不太可能独立造出顶尖光刻机 但也别那么绝对
  5. 【互粉社区】互粉社区为大家提供优质【求粉】和【评论】模板啦!
  6. 由对称性知定点一定在x轴上_高考数学易犯的72个低级错误,一定要避开!
  7. 解决git文件夹不显示图标问题
  8. FishNet网络搭建代码阅读(2)——fishnet.py
  9. Python自学日记---用户输入和while语句
  10. 2022-4-9 Leetcode 912.排序数组