zoukankan      html  css  js  c++  java
  • Linux 寻找CPU使用率高进程

    一、CPU使用率持续较高
    1.在对应节点使用 “top”命令,然后键盘输入“P”,即按照CPU使用率排序进程。
    2.执行ps -ef | grep <CPU使用率高的PID>。
    确认该进程的详细信息,确认该进程的日志。查看该组件日志,占用CPU高是否正常。
    3.使用如下命令,可以打印出CPU占用率最高的十个进程的信息。
    ps aux|head -1;ps aux|grep -v PID|sort -rn -k +3|head

    二、CPU使用率偶现较高
    1. 使用如下命令,可以打印出CPU占用率最高的十个进程的信息。
    ps aux|head -1;ps aux|grep -v PID|sort -rn -k +3|head
    2. 在对应节点创建如下shell文件。
    checkcpu.sh ,其中logFile,是日志打印文件,delayTime 是每次执行的间隔,单位秒。
    #!/usr/bin/env bash
    logFile=/var/log/checkCpuUsage.log
    delayTime=30  # seconds between each excute, default value is 30 seconds
    while( true )
    do
        echo `date` >> $logFile
        echo "USER        PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND " >> $logFile
        ps aux|head -1;ps aux|grep -v PID|sort -rn -k +3|head >> $logFile
        sleep $delayTime
        echo " " >> $logFile
    done
    3.  后台执行脚本。

    在节点在后台执行如下shell文件:
    chmd 700 /opt/checkcpu.sh
    nohup /opt/checkcpu.sh > /dev/null 2>/dev/null &
    4. 查看日志。
    查看“/var/log/checkCpuUsage.log”日志中,是否有打印CPU使用量高的进程的详细信息。

    如果查询出的是java进程,常见因为内存配置过小导致频繁垃圾回收,引起CPU使用率高

    5.停止检查脚本进程。
    在节点执行ps -ef | grep checkcpu.sh | grep -v grep,找到该进程的pid,kill 即可。

  • 相关阅读:
    牛客小白赛23
    三分查找模板和例题
    链式前向星存图模板
    树形dp求解树的重心和例题
    P3915-树的分解-(dfs)
    P2119 魔法阵-(桶排序+前后缀和)
    小阳的贝壳-(差分+线段树+gcd)
    NOJ1370: [蓝桥杯2018初赛]测试次数-(dp)
    begin.lydsy 入门OJ题库:3611-3613:神炎皇、降雷皇、幻魔皇
    1797: [Noi2010]海拔
  • 原文地址:https://www.cnblogs.com/dotagg/p/7692081.html
Copyright © 2011-2022 走看看