zoukankan      html  css  js  c++  java
  • 监控cpu、内存 <shell>

    获取cpu、内存结果

    pid=$1  #获取进程pid
    echo $pid
    interval=1  #设置采集间隔
    while true
    do
        echo $(date +"%y-%m-%d %H:%M:%S") >> proc_memlog.txt
        cat  /proc/$pid/status|grep -e VmRSS >> proc_memlog.txt    #获取内存占用
        cpu=`top -b -n 1 -p $pid|tail -2|head -1|awk '{ssd=NF-3} {print $ssd}'`    #获取cpu占用
        echo "Cpu: " $cpu >> proc_memlog.txt
        echo $blank >> proc_memlog.txt
        sleep $interval
    done
    

    结果排序

    cat proc_memlog.txt |grep Cpu |awk '{print $2}' | sort -nbr
    

    此处cpu是单核的cpu大小,因此超过100%的意思就是跑满了单核。

    逻辑核和物理核

    物理核就是一般说的几核cpu,其为物理核心。一般都是2、4、8核,例如服务器有两颗cpu,每颗cpu有8个核,如果开启超线程就是32个逻辑核。利用cat /proc/cpuinfo查看cpu所有信息。
    查看几颗cpu: cat /proc/cpuinfo | grep "physical id" | sort | uniq | wc -l
    查看每颗cpu有几个核: cat /proc/cpuinfo | grep "core id" | sort | uniq | wc -l
    查看一共有多少个逻辑核:cat /proc/cpuinfo | grep "processor" | sort | uniq | wc -l
    逻辑核则是因超线程技术,将物理核进行虚拟。当计算机没有开启超线程时,逻辑CPU的个数就是物理核数。而当超线程开启后,逻辑CPU的个数是核数的两倍。

    任务绑定cpu

    taskset -c 0,10 ./bind_core

  • 相关阅读:
    Ansible安装配置
    软件测试流程与测试文档
    软件测试与软件质量
    软件测试模型
    软件测试基础知识
    阮一峰ES6
    微信小程序引用外部js,引用外部样式,引用公共页面模板
    css中class后面跟两个类,这两个类用空格隔开
    动态设置WX滚动条的高度(非常重要)
    Vue入口页
  • 原文地址:https://www.cnblogs.com/lcamry/p/9982515.html
Copyright © 2011-2022 走看看