一、Linux系统查看Java堆栈快照脚本

#/bin/bashOLOR_RED='\033[40;31m'             #红色
COLOR_YELLOW='\033[40;33m'          #黄色
COLOR_WHITE='\033[40;37m'           #白色
COLOR_PURPLE='\033[40;35m'          #紫色
COLOR_GREEN='\033[40;32m'           #绿色print_warn_message()
{info=$1if [ -n "${info}" ];then echo -e "${COLOR_YELLOW}${info}${COLOR_WHITE}"fi
}
print_explain_message()
{info=$1if [ -n "${info}" ];then echo -e "${COLOR_PURPLE}${info}${COLOR_WHITE}"fi
}
print_error_message()
{info=$1if [ -n "${info}" ];then echo -e "${COLOR_RED}${info}${COLOR_WHITE}"fi
}
printf_warn_message()
{if [ "OK"x = "${3}"x ];thenprintf "\r${COLOR_YELLOW}${1}%-30s [ ${COLOR_GREEN}%s ${COLOR_YELLOW}]" ${2} ${3}elseprintf "\r${COLOR_YELLOW}${1}%-30s [ ${COLOR_RED}%s ${COLOR_YELLOW}]" ${2} ${3}fi
}##查看线程号
thread_num()
{pid=$1ps -mp $pid -o THREAD,tid,timeprint_warn_message "Please Input Tid You Want To View..."read tidhex=`printf "%x\n" $tid`jstack $pid |grep $hex -A 30
}##
thread_num $1

二、使用演示:

1.查看Java进程ID:

ps aux | grep java

2.调用脚本

sh jstack.sh 360
## 输入异常占用CPU情况的线程号,打印堆栈信息

3.TOP状态

top

4.杀掉测试进程

kill -9 360

三、信息打印脚本

# $1 str       print string
# $2 color     0-7 设置颜色      0-黑色 1-红色 2-绿色 3-黄色 4-白色 5-紫色 6- 7-
# $3 bgcolor   0-7 设置背景颜色
# $4 bold      0-1 设置粗体
# $5 underline 0-1 设置下划线function message_print(){str=$1color=$2bgcolor=$3bold=$4underline=$5normal=$(tput sgr0)case "$color" in0|1|2|3|4|5|6|7)setcolor=$(tput setaf $color;);;*)setcolor="";;esaccase "$bgcolor" in0|1|2|3|4|5|6|7)setbgcolor=$(tput setab $bgcolor;);;*)setbgcolor="";;esacif [ "$bold" = "1" ]; thensetbold=$(tput bold;)elsesetbold=""fiif [ "$underline" = "1" ]; thensetunderline=$(tput smul;)elsesetunderline=""fiprintf "$setcolor$setbgcolor$setbold$setunderline$str$normal\n"
}message_print "Yesterday Once More" 2 0 0 0
message_print "Yesterday Once More" 2 0 1 1

Linux使用Jstack查看Java堆栈快照脚本相关推荐

  1. linux查看java堆栈信息_Java运行状态分析2:获取线程堆栈信息

    Java运行状态分析2:获取线程堆栈信息 基本概念 出现内存泄漏或者运行缓慢场景,有时候无法直接从业务日志看出问题时候,需要分析jvm内存和线程堆栈 线程堆栈信息主要记录jvm线程在某时刻线程执行情况 ...

  2. 【深入理解java虚拟机v3 】 4.2.6 jstack:Java堆栈跟踪工具(查看所有的线程信息占cpu最高的进程和线程)

    文章目录 1. 原文概述 补充概述 2. 例子 2.1 用jstack加进程id查找死锁 2.2 jstack统计线程数 2.3 jstack检测cpu高 3. 实战 3.1 一次cpu高的实战记录 ...

  3. linux使用jps查看java进程信息 单进程详细信息查看

    前言 在开发中,我们经常需要使用jps工具查看Java进程信息,很方便.不过如果我们想查看详细信息的时候,输出的信息过多且未格式化,很不方便查看,这里介绍一个很快捷的方法对繁杂的信息进行格式化. 提示 ...

  4. 使用jps和jstack查看java的进程和线程信息

    jps:列出正在运行的进程的pid, pname jstack -l pid: 列出某个进程内的线程,包含用户线程,守护线程和其它线程,守护线程有编译线程和引用处理线程 C:\Users\DELLOR ...

  5. 不错的linux下通用的java程序启动脚本(转载)

    虽然写起动shell的频率非常不高...但是每次要写都要对付一大堆的jar文件路径,新加jar包也必须要修改起动shell. 在网上找到一个挺好的通用shell脚本. 只需要修改一些配置变量,就可以用 ...

  6. linux java启动脚本文件_不错的linux下通用的java程序启动脚本

    #!/bin/sh #该脚本为Linux下启动java程序的通用脚本.即可以作为开机自启动service脚本被调用, #也可以作为启动java程序的独立脚本来使用. # #Author: tudaxi ...

  7. jstack -- java堆栈常用排查指令

    利用Jstack 查看java堆栈信息,以下主要介绍4个指令方式; 1.查看java 堆栈线程信息 说明 jstack命令打印指定Java进程.核心文件或远程调试服务器的Java线程的Java堆栈跟踪 ...

  8. java - jstack java堆栈跟踪工具

    jstack介绍 jstack 是java虚拟机自带的一种堆栈跟踪工具.jstack用于打印出给定的java进程ID或core file或远程调试服务的Java堆栈信息,如果是在64位机器上,需要指定 ...

  9. Linux查看java进程

    linux下 1.查看 "java" 相关的进程信息  ps -ef | grep java ps -ef|grep java 2. 停止特定java进程命令:kill -9 ja ...

  10. 查看Java虚拟机的运行状态

    <深入理解Java虚拟机>之虚拟机运行情况查看 jps:虚拟机进程状况工具 jps命令格式 options可选参数 命令执行结果: jstat:虚拟机统计信息监视工具 jstat命令格式 ...

最新文章

  1. Python学习--not语句
  2. linux下文件夹的创建、复制、剪切、重命名、清空和删除命令
  3. mysql数据库优化大全_MySQL数据库优化技巧大全
  4. strtok(), strtok_s() 字符串分割函数
  5. TQ210——底板部分原理图
  6. SringBoot/Cloud/Aalibab 事务管理
  7. python网络编程3-socketserver模块
  8. Redis学习-string数据类型
  9. Go 编码建议——功能篇
  10. git详细使用教程入门到精通(史上最全的git教程)
  11. CSS z-index 属性 控制div上下层次
  12. 浅谈对软件工程的认识与理解
  13. android思维导图软件推荐,好用的思维导图软件,安卓思维导图软件哪个好
  14. 思科GNS3模拟器安装包和流程
  15. 如何找到最新的RFC文档
  16. 经典语录大全微信小程序源码下载多种分类语录
  17. php处理微信weui图片上传
  18. python网络游戏开发教程_python 网游开发教程 | python做的游戏有哪些
  19. 大数据分析,到底分析了啥?
  20. 关于数字证书,数字签名,CA证书,Https都在这里了

热门文章

  1. SQL Server 中导入外部数据库文件
  2. Mac 终端命令自动补齐的办法
  3. 计算机英语潘雪峰,《小学三年级英语听力训练指导策略的研究》研究报告
  4. 联发科MT2503D处理器详细参数介绍
  5. js获取ie版本号与html设置ie文档模式的方法
  6. ROS kinetic自定义路径规划算法
  7. idea格式化代码时,注释被格式化问题
  8. 【元胞自动机】基于元胞自动机模拟交叉口右转机动车过街社会力模型matlab源码
  9. Mac无法正常使用共享屏幕功能的解决办法
  10. 卸载#流氓软件#快压的方法