当前位置: 首页 > article >正文

linux间隔记录服务器的CPU占用率TOP10的进程

一:原因

最近线上服务器上总数间隔出现CPU占用过高导致服务访问异常,查看服务运行日志和系统日志没有找到具体由哪个进程导致的,于是规划写一个间隔监控CPU占用率最高的脚本来监控是哪个进程导致的CPU过高

二:间隔记录CPU占用率TOP的sh脚本

创建一个sh脚本文件log_cpu_process.sh

#!/bin/bash
 
# 设置日志文件
LOG_FILE="/data/log/log.log"
 
# 设置间隔时间(秒)
SLEEP_TIME=10
 
# 循环记录信息
while true; do
  # 记录当前时间戳
  timestamp=$(date +"%Y-%m-%d %H:%M:%S")
  
  # 使用ps命令获取CPU使用率前10的进程,并输出到日志文件
  ps H -eo pid,ppid,%mem,%cpu,cmd --sort=-%cpu | head -10 | awk '{print "'"$timestamp"', "$0}' >> $LOG_FILE

  # 休眠指定时间
  sleep $SLEEP_TIME
done

如上表示没间隔10秒将CPU占有率TOP10的进程信息存储到指定文件中

三:执行脚本

将log_cpu_process.sh文件执行可执行权限

chmod +x log_cpu_process.sh

运行脚本

./log_cpu_process.sh

以后台进程方式运行脚本

nohup log_cpu_process.sh > /dev/null 2>&1 &

四:现象

执行脚本后我们就可以在对应目录下看到生成的日志记录文件


http://www.kler.cn/a/429641.html

相关文章:

  • istio-proxy oom问题排查步骤
  • rtthread学习笔记系列(4/5/6/7/15/16)
  • Vue3组件设计模式:高可复用性组件开发实战
  • SpringBoot配置文件
  • Qi认证怎么办理?
  • ubuntu20.04 安装RTX2060驱动
  • 使用Nexus3搭建Maven私有镜像仓库
  • Burp(8)-验证码爆破插件
  • 基于FPGA的PI环调节电压
  • Xcode编译的时候运行python脚本
  • 计算机网络——三大交换技术
  • 准确率99.9%的离线IP地址定位库 ip2region - python 示例
  • GauHuman阅读笔记【3D Human Modelling】
  • 知从科技闪耀汽车智能底盘大会:共探软件安全新篇章
  • ElasticSearch常见面试题汇总
  • 《maven 常用知识详解 3:聚合与继承》
  • Blender均匀放缩模型
  • 第8章:CSS预处理器 --[CSS零基础入门]
  • vue3 实现音频转文字组件
  • 深入理解 React 状态管理:useState 和 useReducer
  • java工具包介绍
  • FCOS: Fully Convolutional One-Stage Object Detection——全卷积一阶段目标检测
  • 【CMD、PowerShell和Bash设置代理】
  • 项目文章 | RNA-seq+WES-seq+机器学习,揭示DNAH5是结直肠癌的预后标志物
  • C++小小复习一下
  • js:事件监听