syslog_pid=`ps -ef|grep syslog-ng|grep -v grep |awk '{print $2}'`
    pid_count=`ps -ef|grep syslog-ng|grep -v grep |awk '{print $2}'| wc -l`
    cpu_count=`cat /proc/cpuinfo | grep "core id" | wc -l`
    SYSLOG_CPU_MAX=0
    if [[ $syslog_pid"X" == "X" ]];then
        return
    fi
    for i in `seq 1 $pid_count`;do
        SYSLOG_PID=$(echo $syslog_pid |cut -d " " -f$i)
        cpu_total_slice_1=`cat /proc/stat|grep "cpu "|awk '{for(i=2;i<=NF;i++)j+=$i;print j;}'`
        cpu_process_total_slice_1=`cat /proc/$SYSLOG_PID/stat|awk '{print  $14+$15+$16+$17}'`
        sleep 1
        cpu_total_slice_2=`cat /proc/stat|grep "cpu "|awk '{for(i=2;i<=NF;i++)j+=$i;print j;}'`
        cpu_process_total_slice_2=`cat /proc/$SYSLOG_PID/stat|awk '{print  $14+$15+$16+$17}'`

        cpu_n_a=`echo "scale=2;($cpu_process_total_slice_2-$cpu_process_total_slice_1) / ($cpu_total_slice_2-$cpu_total_slice_1) * $cpu_count " | bc -l`
        cpu_n=`echo $cpu_n_a |tr -d "."`
        if [[ $SYSLOG_CPU_MAX < $cpu_n ]];then
            SYSLOG_CPU_MAX=$cpu_n
        fi
    done
    if [[ $SYSLOG_CPU_MAX -lt 5 ]];then
        echo "syslog_ng_cpu=0-5"
    elif [[ $SYSLOG_CPU_MAX -lt 20 ]];then
        echo "syslog_ng_cpu=5-20"
    elif [[ $SYSLOG_CPU_MAX -lt 50 ]];then
        echo "syslog_ng_cpu=20-50"
    elif [[ $SYSLOG_CPU_MAX -lt 80 ]];then
        echo "syslog_ng_cpu=50-80"
    elif [[ $SYSLOG_CPU_MAX -ge 80 ]];then
        echo "syslog_ng_cpu>80"
    fi

查看syslog-ng内存,兼容容器情况的更多相关文章

  1. Linux 查看CPU和内存的使用情况

    Linux 查看CPU和内存的使用情况 如何查看Linux机器的CPU和内存的使用情况. 可以通过如下方式: 1.查看CPU和内存的实时使用情况 使用如下命令: top 命令执行后,效果如下(资源的使 ...

  2. [PHP] pmap可以查看进程占用内存的详细情况

    pmap后面跟进程id,就可以查看进程的详细情况了,例如下面php的进程 可以看到php扩展占用内存的情况,方便进行查询问题 00007fb3fa4bf000 44K r-x-- /usr/lib64 ...

  3. Linux查看磁盘目录内存空间使用情况

    du 显示每个文件和目录的磁盘使用空间 命令参数 -c或--total  除了显示个别目录或文件的大小外,同时也显示所有目录或文件的总和. -s或--summarize  仅显示总计,只列出最后加总的 ...

  4. CentOS查看CPU、内存、网络流量和磁盘 I/O

    安装 yum install -y sysstat sar -d 1 1 rrqm/s: 每秒进行 merge 的读操作数目.即 delta(rmerge)/swrqm/s: 每秒进行 merge 的 ...

  5. CentOS查看CPU、内存、网络流量和磁盘 I/O【详细】

    安装 yum install -y sysstat sar -d 1 1 rrqm/s: 每秒进行 merge 的读操作数目.即 delta(rmerge)/swrqm/s: 每秒进行 merge 的 ...

  6. 萌新笔记——linux下查看内存的使用情况

    windows上有各种软件可以进行"一键加速"之类的操作,释放掉一些内存(虽然我暂时不知道是怎么办到的,有待后续学习).而任务管理器也可以很方便地查看各进程使用的内存情况,如下图: ...

  7. 如何使用Linux命令行查看Linux服务器内存使用情况?

    一个服务器,最重要的资源之一就是内存,内存够不够用,是直接关系到系统性能的关键所在. 本文介绍如何查看Linux服务器内存使用情况, 1.free命令 free -m [root@localhost ...

  8. Linux查看CPU和内存使用情况(转)

    在系统维护的过程中,随时可能有需要查看 CPU 使用率,并根据相应信息分析系统状况的需要.在 CentOS 中,可以通过 top 命令来查看 CPU 使用状况.运行 top 命令后,CPU 使用状态会 ...

  9. Linux查看CPU和内存使用情况

    在系统维护的过程中,随时可能有需要查看 CPU 使用率,并根据相应信息分析系统状况的需要.在 CentOS 中,可以通过 top 命令来查看 CPU 使用状况.运行 top 命令后,CPU 使用状态会 ...

随机推荐

  1. PHP的输出缓冲区

    什么是缓冲区?简单而言,缓冲区的作用就是,把输入或者输出的内容先放进内存,而不显示或者读取.至于为什么要有缓冲区,这是一个很广泛的问题,如果有兴趣,可以在网山找下资料.其实缓冲区最本质的作用就是,协调 ...

  2. JAVA二维数组小记

    入手JAVA第二天 //二维数组 //数据类型 [][] 数组名 = new 数据类型[行的个数][列的个数];3 String [][] name = {{"admin",&qu ...

  3. <有序数组>转化为<按二分法遍历顺序排列的数组>(C++实现)

    在进行参数试错时,通常将可能的参数由小到大排列一个个进行测试,这样的测试顺序很多时候不太合理,因此写了一个按二分法遍历顺序排列的算法,通常能更快的找到合适的参数.代码如下: /************ ...

  4. JavaScript学习笔记(高级部分—02)

    47.switch语句的语法: switch (i) { case 20: alert("20"); break; case 30: alert("30"); ...

  5. SurfaceView类透明背景设置

    将SurfaceView背景设置为透明,主要添加以下几句话就可以了: 在SurfaceView创建后设置一下下面的参数: setZOrderOnTop(true); getHolder().setFo ...

  6. Spring MVC 注解[转]

    [学习笔记]基于注解的spring3.0.x MVC学习笔记(九) 摘要: 本章节,仅为@SessionAttributes的功能扩展介绍介绍,结合@requestparam注解进行简易无数据库分页. ...

  7. Spring3 MVC 使用JSON进行前后台数据交互

    http://wbj0110.iteye.com/blog/2007918 在 Spring3 中,响应.接受 JSON都十分方便.向前台返回 JSON 格式的数据: 1 2 3 4 5 6 7 8 ...

  8. Android 中文 API (40) —— RatingBar

    Android 中文 API (40) —— RatingBar 前言 本章内容是 android.widget.RatingBar,译为"评分条",版本为Android 2.2 ...

  9. c# WPF 项目优化

    业务流程图 优化前后对比: 优化过程: 1. 界面刷新,特别是表格刷新 把ListView.DataContext  = DataSet 这些代码替换成以下: public static void S ...

  10. Calendar 日历控件使用

    <link rel="stylesheet" href="__STATIC__/js/calendar/calendar-blue.css"/> & ...