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. (转)苹果iOS开发者账号过期临时解决方法

    苹果iOS开发者账号过期临时解决办法 苹果iOS开发者账号一年的费用是99美金,作者最近由于各种原因,导致renew没能在账号过期之前支付好,所以在账号过期等待renew的期间,试了试一些非正常手段, ...

  2. ssh远程登录linux live系统

    要想ssh远程登录,须要准备两件事:配置同网段IP和开启SSH服务. 因为live系统没有IP,所以首先须要配置IP. 我的live系统是在虚拟机上启动的,宿主IP为192.168.230.1,liv ...

  3. JavaScript学习(2)

    时间就像海绵里的水,要挤总还是有的,所以在最近不是太忙的时间里,我选择了挤时间,一点点的挤出了大把的时间,于是乎便迎来了我对javascript的第二阶段的学习,首先说下, 说起JavaScript大 ...

  4. redisi配置安装

    一.单机配置 http://www.codeceo.com/article/centos-redis-setup.html 二.测试安装情况 http://blog.sina.com.cn/s/blo ...

  5. iOS_SN_UITableView的优化

    1.提前计算并缓存好高度(布局),因为heightForRowAtIndexPath:是调用最频繁的方法. 2.异步绘制,遇到复杂界面,遇到性能瓶颈时,可能就是突破口. 3.滑动时按需加载,这个在大量 ...

  6. java下tcp的socket连接案例

    package cn.stat.p4.ipdemo; import java.io.BufferedReader; import java.io.IOException; import java.io ...

  7. cordova-plugin-app-version插件使用

    此插件用来获取开发软件的版本号! 首先安装此插件: 命令行中输入 cordova plugin add cordova-plugin-app-version   然后刷新项目,就会在在项目plugin ...

  8. 基于live555的一个简单RTSP服务器

    1,编译live555源码目录下的 BasicUsageEnvironment.groupsock.liveMedia.UsageEnvironment四个工程生成相应的库文件: 目录结构如下: 2, ...

  9. C++中多重继承构造函数执行顺序

    代码1: #include <cstdio> #include <iostream> using namespace std; class A{ public: A(){ co ...

  10. 对于js原型和原型链继承的简单理解(第二种,对象冒充)

    关键代码    this.parent = Cat;    this.parent.apply(this); function Cat(){ this.climb = function(){ aler ...