寻找CPU使用率高进程方法

南墨3年前技术文章2000

背景

节点报CPU使用率高,需要定位是什么进程占用CPU使用率高。

CPU使用率持续较高

  1. 在对应节点使用 “top”命令,然后键盘输入“P”,即按照CPU使用率排序进程。

1.png

  1. 执行ps -ef | grep <CPU使用率高的PID>

确认该进程的详细信息,确认该进程的日志。查看该组件日志,占用CPU高是否正常。

  1. 使用如下命令,可以打印出CPU占用率最高的十个进程的信息。

ps aux|head -1;ps aux|grep -v PID|sort -rn -k +3|head

   123.jpg

CPU使用率偶现较高

  1. 使用如下命令,可以打印出CPU占用率最高的十个进程的信息。

ps aux|head -1;ps aux|grep -v PID|sort -rn -k +3|head

  1. 在对应节点创建如下shell文件。checkcpu.sh ,其中logFile,是日志打印文件,delayTime 是每次执行的间隔,单位秒。

#!/usr/bin/env bash
logFile=/tmp/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
  1. 后台执行脚本。在节点在后台执行如下shell文件:

chmod 700 /opt/checkcpu.sh

nohup /opt/checkcpu.sh > /dev/null 2>/dev/null &

  1. 查看日志。查看“/tmp/checkCpuUsage.log”日志中,是否有打印CPU使用量高的进程的详细信息。如果查询出的是java进程,常见因为内存配置过小导致频繁垃圾回收,引起CPU使用率高

  2. 停止检查脚本进程。

在节点执行ps -ef | grep checkcpu.sh | grep -v grep,找到该进程的pid,kill 即可。


标签: 运维CPU

相关文章

nginx配置反向代理某个url

nginx配置反向代理某个url

本文讲的这个漏洞 主要是为了解决漏洞扫描的问题我先介绍下这个漏洞主要是因为访问https://172.16.120.17:18090/ws/v1/cluster/info这个 yarn rest的一个...

中国式IT运维,趟出自己的“长期主义”河流

2018年,Gartner曾做过一次长达6个月的调查问卷。在这个主题为AIOps的问卷中,Gartner选取了500家各行业头部的企业,针对其当下的IT架构来判断调研企业未来是否会加大对于AIOps的...

HBase导出表和备份表操作

HBase导出表和备份表操作

HBase提供了几种导出数据的方式,包括使用HBase自带的工具和使用HBase的API。本文主要是讲的使用HBase自带的工具进行导出首先我们创建一个表 插入一些数据hbase shelllistc...

Java-API-MapReduce的操作WordCount篇

Java-API-MapReduce的操作WordCount篇

首先就是pom文件<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/...

Gartner权威报告解读|应用可观测性列为2023年重要战略技术趋势!

Gartner于今日发布企业机构在2023年需要探索的十大战略技术趋势。Gartner杰出研究副总裁Frances Karamouzis表示:“为了在经济动荡时期增加企业机构的盈利,首席信息官和IT高...

kubernetes HPA

kubernetes HPA

Horizontal Pod Autoscaling 可以根据 CPU 利用率自动伸缩一个 ReplicaSet、Deployment 或者中的 Pod 数量cat hpa-deploy.yaml a...

发表评论    

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。