线上jvm进程CPU load高排查脚本-jkiller

简介:
Sql代码   收藏代码
  1. http://www.54chen.com/java-ee/jvm-cpu-load-high-script.html  
  2.   
  3. #!/bin/sh  
  4.   
  5. export LANG="zh_CN.UTF-8";  
  6. export LC_ALL="zh_CN.UTF-8";  
  7.   
  8. LOG_FILE="/tmp/jcpu.log";  
  9. JSTACK_FILE="/tmp/jstack.log";  
  10.   
  11. PID="$1";  
  12. shift;  
  13. i=0;  
  14. j="$1";  
  15. if [ -z "${j}" ]; then  
  16.     j=5;  
  17. fi  
  18.   
  19. ps -mp ${PID} -o THREAD,tid,time | sort -rn > ${LOG_FILE};  
  20. jstack ${PID} > ${JSTACK_FILE};  
  21.   
  22. for LINE in `cat ${LOG_FILE}|gawk -F '-' '{print $4}'|gawk -F ' ' '{print $1}'`  
  23. do  
  24.     i=$(($i+1));  
  25.     if (($i>$j)); then  
  26.         break;  
  27.     fi;  
  28.     XPID=`printf "%x\n" ${LINE}`;  
  29.     echo -ne "\033[32m";  
  30.     echo ${XPID};  
  31.     echo -e "\033[34m";  
  32.     grep -A 10 "0x${XPID}" ${JSTACK_FILE};  
  33.     echo -e "\e[0m";  
  34. done;  
相关文章
|
3月前
|
Java 编译器 Linux
JVM/编译器/CPU,究竟谁是卧底?一个曾经困扰我一个月的 bug
任何复杂的系统都可能因为一个小小的疏漏而无法运转,本文记录了一个困扰作者一个月的 bug 最终拨云见日的过程。
|
3月前
|
SQL 监控 关系型数据库
MySQL优化: CPU高 处理脚本 pt-kill脚本
MySQL优化: CPU高 处理脚本 pt-kill脚本
|
3月前
|
小程序 JavaScript Java
【Java】服务CPU占用率100%,教你用jstack排查定位
本文详细讲解如何使用jstack排查定位CPU高占用问题。首先介绍jstack的基本概念:它是诊断Java应用程序线程问题的工具,能生成线程堆栈快照,帮助找出程序中的瓶颈。接着,文章通过具体步骤演示如何使用`top`命令找到高CPU占用的Java进程及线程,再结合`jstack`命令获取堆栈信息并进行分析,最终定位问题代码。
292 1
【Java】服务CPU占用率100%,教你用jstack排查定位
|
2月前
|
监控 Ubuntu API
Python脚本监控Ubuntu系统进程内存的实现方式
通过这种方法,我们可以很容易地监控Ubuntu系统中进程的内存使用情况,对于性能分析和资源管理具有很大的帮助。这只是 `psutil`库功能的冰山一角,`psutil`还能够提供更多关于系统和进程的详细信息,强烈推荐进一步探索这个强大的库。
42 1
|
3月前
|
监控 安全 算法
在Linux中,cpu使用率过高可能是什么原因引起的?排查思路是什么?
在Linux中,cpu使用率过高可能是什么原因引起的?排查思路是什么?
|
3月前
|
消息中间件 Java 调度
一次线上服务CPU100%的排查过程
文章记录了一次线上服务CPU使用率达到100%的排查过程,通过使用top命令和jstack工具确定了导致高CPU使用的线程,并分析了Disruptor组件的不当配置是问题原因,通过修改组件的策略成功解决了问题。
77 0
|
3月前
|
缓存 NoSQL Redis
【Azure Redis 缓存】Redis的指标显示CPU为70%,而Service Load却达到了100%。这两个指标意义的解释及如何缓解呢?
【Azure Redis 缓存】Redis的指标显示CPU为70%,而Service Load却达到了100%。这两个指标意义的解释及如何缓解呢?
|
3月前
|
Java
靠这三步就能排查CPU占用100%?
靠这三步就能排查CPU占用100%?
159 0
|
4月前
|
运维 Python Windows
如何通过Python脚本查找并终止占用指定端口的进程
在日常的开发和运维过程中,某些端口被意外占用是一个常见的问题。这种情况可能导致服务无法启动或冲突。本文将介绍如何通过Python脚本查找并终止占用指定端口的进程,以确保系统的正常运行。
|
4月前
|
监控 Python
paramiko 模块 ---Python脚本监控当前系统的CPU、内存、根目录、IP地址等信息
paramiko 模块 ---Python脚本监控当前系统的CPU、内存、根目录、IP地址等信息