寻找CPU使用率高进程方法

南墨3年前技术文章1719

背景

节点报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

相关文章

EMR-java配置国密SM4加密

EMR-java配置国密SM4加密

首先找到bcprov-jdk15on-1.56.jar这个包<dependency>    <groupId>org.bouncycastle</groupId> ...

深度解读|云掣《云运维服务白皮书》全方位解析!

深度解读|云掣《云运维服务白皮书》全方位解析!

如今全球各行各业纷纷进行数字化变革,为适应数字经济环境下企业生存发展和市场变化的需要,企业选择进行主动的、系统性、整体性的数字化转型升级。大数据、云计算、人工智能、区块链等新一代信息通信技术为企业的数...

基于Gitlab和Kubernetes的CI/CD

基于Gitlab和Kubernetes的CI/CD

此套CI/CD流程仅依赖gitlab。runner等组件安装在kubernetes集群中,尽量减少其他依赖,便于维护。依赖介绍gitlab runnergitlab runner用来运行我们的作业并将...

CDH时钟同步问题

CDH时钟同步问题

首先执行如下命令:查看chronyd是否启动systemctl status chronyd如果没启动执行如下命令启动systemctl restart chronyd每台检查时间状态chronyc...

使用Sqoop将数据从Hive导入MySQL(一)

使用Sqoop将数据从Hive导入MySQL(一)

使用Sqoop将数据从Hive导入MySQL首先查看csv数据类型创建类似的hive表并导入数据CREATE TABLE data (    province STRING,    code INT,...

在经济低迷时管理云服务的策略!

近几年全球经济在疫情等各方面影响之下持续低迷,Wanclouds公司发布的一份研究报告指出,81%的美国IT领导者表示,他们的首席执行官要求他们减少或者不增加云计算支出。事实上,在那些被要求削减成本的...

发表评论    

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