`
yinwufeng
  • 浏览: 276744 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

打印线程详细信息并按CPU占用排序

 
阅读更多
好久没来写了,不过太好用了,记录下

#!/bin/ksh

typeset top=${1:-10}
typeset pid=${2:-$(pgrep -u $USER java)}
typeset tmp_file=/tmp/java_$pid_$$.trace

$JAVA_HOME/bin/jstack $pid > $tmp_file
ps H -eo user,pid,ppid,tid,time,%cpu --sort=-%cpu|head -$top|awk '$2==pid{print $4"\t"$6}' pid=$pid|while read line;
do
typeset nid="0x"$(echo "$line"|awk '{print $1}'|xargs -I{} echo "obase=16;{}"|bc|tr 'A-Z' 'a-z')
typeset cpu=$(echo "$line"|awk '{print $2}')
cat $tmp_file|awk '/nid='"$nid"'/,/^$/{print $0"\t"(isF++?"":"cpu="'"$cpu"'"%");}'
done;

rm -f $tmp_file
分享到:
评论

相关推荐

    按内存占用排序和按CPU占用排序的Linux TOP命令

    Linux TOP命令默认是CPU占用排序,按M可以切换到按内存占用排序。这是系统维护和电脑内存维护。可以切换的。不同的用法,达到不同的效果。

    jvm排查cpu占用过高的线程

    2、top -Hp pid 命令找到该进程下cpu占用最高的线程(shift+p 按cpu排序,shift+m 按内存排序) top -Hp 8958 3、使用 printf ‘%x\n’ PID (PID为上一步中获取到的线程号)转换成对应的16进制PID 5c7e(为什么要...

    Oracle数据库CPU使用率过高处理记录

     可能造成CPU使用率高的情况有:大量排序、大量SQL解析、全表扫描、Oracle Bug等。因此希望找到占用CPU较高的进程ID(UNIX或LINUX)或线程ID(Windows)来找到对应的SQL语句,以分析问题的原因。  三、处理步骤 ...

    Linux系统中CPU占用率较高问题排查思路与解决方法

    top命令,然后按shift+p按照CPU排序 找到占用CPU过高的进程的pid 第二步:使用 top -H -p [进程id] 找到进程中消耗资源最高的线程的id 第三步:使用 echo ‘obase=16;[线程id]’ | bc或者printf “%x\n” ...

    西电计算机操作系统课程设计pintos-pro2.doc

    在新的线程创立后,可以参加一个比较函数,假设新的线程优先级高 ,那么让出CPU,利用插入排序list_insert_ordered()函数将当前线程按优先级顺序插 入到等待的队列中,假设当前优先级被降低,那么让出CPU;...

    【MySQL面试第二弹】MySQL 服务占用cpu 100%,如何排查问题?

    推荐阅读学习:MySQL最全整理(面试题+笔记+导图),面试...不管什么问题,既然是CPU飙升,肯定是查一下耗CPU的线程,然后看看GC。 3.1 核心排查步骤 执行top命令:查看所有进程占系统CPU的排序。极大可能排第一个的就

    易语言540个易模块

    Cool皮肤模块 CPU占用率检测模块 菜单加图片模块 1.0 查找窗口或进程并关闭 常用API 常用功能 超级表达式计算 超级打印预览0716 超级列表框背景 超级列表框补助 超级列表框操作类 超级列表框存为网页 超级列表...

    易语言模块914个

    CPU占用率检测模块.ec cs.ec DES加密模块 1.0.ec DIY热键框模块.ec DLL注入模块.ec DOS命令模块.ec EC.EC EdbServer1.0客户端.ec EDB、高级表格、XLS互换.ec edb到html-1.0.ec EDB数据库客户端模块 1.0....

    Java并发编程实战

    11.4.6 监测CPU的利用率199 11.4.7 向对象池说“不”200 11.5 示例:比较Map的性能200 11.6 减少上下文切换的开销201 第12章 并发程序的测试204 12.1 正确性测试205 12.1.1 基本的单元测试206 12.1.2 对阻塞...

    (重要)AIX command 使用总结.txt

    #查找根卷组下大于2M的文件, 并根据文件大小排序, 大文件在前. find / -xdev -size +1024 -ls |sort -r +6 8277 624 -r-xr-xr-x 1 root system 635390 Jul 31 2003 /sbin/helpers/jfs2/fsck 28 596 -rw-r--r-- 1 ...

    1350多个精品易语言模块

    CPU占用率检测模块.ec CPU占用率检测模块1.ec CRC32.EC cs.ec Cur.ec debugprocess.ec des.ec DES 加密模块 1.0.ec DES加解密模块des.ec DirectX8VB组件调用模块.ec disk.ec DisplaySettings.ec DIY 热键框模块.ec ...

    1345个易语言模块

    CPU占用率检测模块1.ec CRC32.EC cs.ec Cur.ec debugprocess.ec des.ec DES 加密模块 1.0.ec DES加解密模块des.ec DirectX8VB组件调用模块.ec disk.ec DisplaySettings.ec DIY 热键框模块.ec DLL.ec DLL注入模块.ec ...

    790个易模块打包下载-2

    CPU占用率检测模块.ec DLL注入模块.ec edb到html-1.0.ec edb数据库转Excel模块 1.3.ec ETimeFly API模块.ec HTTP访问模块1.0.ec HTTP访问模块1.1.ec IP地址编辑框2.0.ec kernel模块.EC MD5取数据摘要.EC ...

    Delphi开发范例宝典目录

    实例229 在程序中使用多线程 293 实例230 怎样调用外部的EXE文件 295 实例231 关闭外部已开启的程序 296 6.9 程序运行 297 实例232 监测是否运行多个程序 297 实例233 防止程序多次运行 298 实例234 ...

Global site tag (gtag.js) - Google Analytics