查看某个进程名正在运行的个数

有时我们可能需要得到服务器上某个进程的启动个数,下面的功能是检测某个进程正在运行的个数,例如进程名为CFTestApp。


    1. Runnum=`ps -ef | grep -v vi | grep -v tail | grep "[ /]CFTestApp" | grep -v grep | wc -l


    检测系统CPU负载

    在对服务器进行维护时,有时也遇到由于系统CPU(利用率)负载过量导致业务中断的情况。服务器上可能运行多个进程,查看单个进程的CPU都是正常的,但是整个系统的CPU负载可能是异常的。通过脚本对系统CPU负载进行时时监控,可以在异常时及时发送告警,便于维护人员及时处理,预防事故发生。下面的函数可以检测系统CPU使用情况 . 使用vmstat取5次系统CPU的idle值,取平均值,然后通过与100取差得到当前CPU的实际占用值。

    1. function GetSysCPU  
    2.  
    3. {  
    4.  
    5. CpuIdle=`vmstat 1 5 |sed -n '3,$p' \n  
    6.  
    7. |awk '{xx
    8.  
    9. CpuNum=`echo "100-$CpuIdle" | bc`  
    10.  
    11. echo $CpuNum  
    12.  
    13. }


    示例演示:

    1)源程序

    1. cpu=`GetSysCPU`  
    2.  
    3. echo "The system CPU is $cpu"  
    4.  
    5. if [ $cpu -gt 90 ]  
    6.  
    7. then  
    8.  
    9. {  
    10.  
    11. echo "The usage of system cpu is larger than 90%"  
    12.  
    13. }  
    14.  
    15. else  
    16.  
    17. {  
    18.  
    19. echo "The usage of system cpu is normal"  
    20.  
    21. }  
    22.  
    23. fi


    2)结果输出

    1. The system CPU is 87  
    2.  
    3. The usage of system cpu is normal  
    4.  
    5. [dyu@xilinuxbldsrv shell]$


    3)结果分析

    从上面的输出可见:当前Linux服务器系统CPU利用率为87%,是正常的,没有超过90%的告警限制。

    4)命令介绍

    vmstat:Virtual Meomory Statistics(虚拟内存统计)的缩写,可对操作系统的虚拟内存、进程、CPU活动进行监视。

    参数:-n表示在周期性循环输出时,输出的头部信息仅显示一次。

    检测系统磁盘空间

    系统磁盘空间检测是系统资源检测的重要部分,在系统维护维护中,我们经常需要查看服务器磁盘空间使用情况。因为有些业务要时时写话单,日志,或者临时文件等,如果磁盘空间用尽,也可能会导致业务中断,下面的函数可以检测当前系统磁盘空间中某个目录的磁盘空间使用情况。输入参数为需要检测的目录名,使用df输出系统磁盘空间使用信息,然后通过grep和awk过滤得到某个目录的磁盘空间使用百分比。

    1. function GetDiskSpc  
    2.  
    3. {  
    4.  
    5. if [ $# -ne 1 ]  
    6.  
    7. then  
    8.  
    9. return 1  
    10.  
    11. fi  
    12.  
    13. Folder="$1$"
    14.  
    15. DiskSpace=`df -k |grep $Folder |awk '{print $5}' |awk -F% '{print $1}'  
    16.  
    17. echo $DiskSpace  
    18.  
    19. }


    示例演示:

    1)源程序(检测目录为 /boot)


      1. Folder="/boot"
      2.  
      3. DiskSpace=`GetDiskSpc $Folder`  
      4.  
      5. echo "The system $Folder disk space is $DiskSpace%"  
      6.  
      7. if [ $DiskSpace -gt 90 ]  
      8.  
      9. then  
      10.  
      11. {  
      12.  
      13. echo "The usage of system disk($Folder) is larger than 90%"  
      14.  
      15. }  
      16.  
      17. else  
      18.  
      19. {  
      20.  
      21. echo "The usage of system disk($Folder) is normal"  
      22.  
      23. }  
      24.  
      25. fi


      2)结果输出

      1. The system /boot disk space is 14%  
      2.  
      3. The usage of system disk(/boot) is normal  
      4.  
      5. [dyu@xilinuxbldsrv shell]$

      3)结果分析

      从上面的输出可见:当前此Linux服务器系统上/boot 目录的磁盘空间已经使用了14%,是正常的,没有超过使用90% 的告警限制。

      4)命令介绍

      df:检查文件系统的磁盘空间占用情况。可以利用该命令来获取硬盘被占用了多少空间,目前还剩下多少空间等信息。

      参数:-k以k字节为单位显示。

      总结

      在Linux平台下,shell脚本监控是一个非常简单,方便,有效的对服务器,进程进行监控的方法,对系统开发以及进程维护人员非常有帮助。它不仅可以对上面的信息进行监控,发送告警,同时也可以监控进程的日志等等的信息,希望本文对大家有帮助。