java cpu load
$ps -Lp 179093 cu | more
USER PID LWP %CPU NLWP %MEM VSZ RSS TTY STAT START TIME COMMAND
admin 179093 179093 0.0 383 54.5 5803448 4572012 ? Sl Aug05 0:00 java
admin 179093 179097 0.0 383 54.5 5803448 4572012 ? Sl Aug05 0:01 java
admin 179093 179100 0.0 383 54.5 5803448 4572012 ? Sl Aug05 8:43 java
admin 179093 179101 0.0 383 54.5 5803448 4572012 ? Sl Aug05 8:43 java
admin 179093 179102 0.0 383 54.5 5803448 4572012 ? Sl Aug05 8:44 java
admin 179093 179103 0.0 383 54.5 5803448 4572012 ? Sl Aug05 8:45 java
admin 179093 179104 0.0 383 54.5 5803448 4572012 ? Sl Aug05 2:21 java
admin 179093 179105 0.0 383 54.5 5803448 4572012 ? Sl Aug05 55:50 java
admin 179093 179106 0.0 383 54.5 5803448 4572012 ? Sl Aug05 0:03 java
admin 179093 179107 0.0 383 54.5 5803448 4572012 ? Sl Aug05 0:15 java
admin 179093 179108 0.0 383 54.5 5803448 4572012 ? Sl Aug05 0:00 java
admin 179093 179109 0.0 383 54.5 5803448 4572012 ? Sl Aug05 0:00 java
admin 179093 179110 0.0 383 54.5 5803448 4572012 ? Sl Aug05 1:02 java
admin 179093 179111 0.0 383 54.5 5803448 4572012 ? Sl Aug05 0:58 java
admin 179093 179112 0.0 383 54.5 5803448 4572012 ? Sl Aug05 0:00 java
admin 179093 179113 0.0 383 54.5 5803448 4572012 ? Sl Aug05 29:21 java
......
$printf "%x\n" 179105
2bba1
$jstack -l 179093 > jstack.log
$vi jstack.log
search 2bba1
"Reference Handler" daemon prio=10 tid=0x00002aaaab073800 nid=0x2bba2 in Object.wait() [0x00000000405cd000]
java.lang.Thread.State: WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
at java.lang.Object.wait(Object.java:503)
at java.lang.ref.Reference$ReferenceHandler.run(Reference.java:133)
- locked <0x0000000772d40fd8> (a java.lang.ref.Reference$Lock)
Locked ownable synchronizers:
- None
"main" prio=10 tid=0x00002aaaab072000 nid=0x2bb99 runnable [0x0000000041e45000]
java.lang.Thread.State: RUNNABLE
at java.net.PlainSocketImpl.socketAccept(Native Method)
at java.net.AbstractPlainSocketImpl.accept(AbstractPlainSocketImpl.java:398)
at java.net.ServerSocket.implAccept(ServerSocket.java:530)
at java.net.ServerSocket.accept(ServerSocket.java:498)
at org.apache.catalina.core.StandardServer.await(StandardServer.java:466)
at org.apache.catalina.startup.Catalina.await(Catalina.java:787)
at org.apache.catalina.startup.Catalina.start(Catalina.java:733)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:320)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:454)
Locked ownable synchronizers:
- None
"VM Thread" prio=10 tid=0x00002aaaab10d000 nid=0x2bba1 runnable
"Gang worker#0 (Parallel GC Threads)" prio=10 tid=0x00002aaaab108800 nid=0x2bb9c runnable
"Gang worker#1 (Parallel GC Threads)" prio=10 tid=0x00002aaaab109800 nid=0x2bb9d runnable
"Gang worker#2 (Parallel GC Threads)" prio=10 tid=0x00002aaaab10a000 nid=0x2bb9e runnable
"Gang worker#3 (Parallel GC Threads)" prio=10 tid=0x00002aaaab10a800 nid=0x2bb9f runnable
"Concurrent Mark-Sweep GC Thread" prio=10 tid=0x00002aaaab10c000 nid=0x2bba0 runnable
"VM Periodic Task Thread" prio=10 tid=0x00002aaaab10d800 nid=0x2bba9 waiting on condition
JNI global references: 343
......
here is a script:
#!/bin/sh
# write by : oldmanpushcart@gmail.com
# date : 2014-01-16
# version : 0.07
typeset top=${1:-10}
typeset pid=${2:-$(pgrep -u $USER java)}
typeset tmp_file=/tmp/java_${pid}_$$.trace
/opt/taobao/java/bin/jstack $pid > $tmp_file
ps H -eo user,pid,ppid,tid,time,%cpu --sort=%cpu --no-headers\
| tail -$top\
| awk -v "pid=$pid" '$2==pid{print $4"\t"$6}'\
| while read line;
do
typeset nid=$(echo "$line"|awk '{printf("0x%x",$1)}')
typeset cpu=$(echo "$line"|awk '{print $2}')
awk -v "cpu=$cpu" '/nid='"$nid"'/,/^$/{print $0"\t"(isF++?"":"cpu="cpu"%");}' $tmp_file
done
rm -f $tmp_file
java cpu load的更多相关文章
- Linux内核分析:页回收导致的cpu load瞬间飙高的问题分析与思考--------------蘑菇街技术博客
http://mogu.io/156-156 摘要 本文一是为了讨论在Linux系统出现问题时我们能够借助哪些工具去协助分析,二是讨论出现问题时大致的可能点以及思路,三是希望能给应用层开发团队介绍一些 ...
- cpu load过高问题排查
load average的概念 top命令中load average显示的是最近1分钟.5分钟和15分钟的系统平均负载. 系统平均负载被定义为在特定时间间隔内运行队列中(在CPU上运行或者等待运行多少 ...
- linux loadavg详解(top cpu load)
目录 [隐藏] 1 Loadavg分析 1.1 Loadavg浅述 1.2 Loadavg读取 1.3 Loadavg和进程之间的关系 1.4 Loadavg采样 2 18内核计算loadavg存在的 ...
- CPU利用率和CPU负荷(CPU usage vs CPU load)
对于CPU的性能监测,通常用top指令能显示出两个指标:cpu 利用率和cpu负荷. 其中%Cpu相关的内容: us表示用户进程cpu利用率,sy表示系统内核进程cpu利用率,ni表示运行正常进程消耗 ...
- 浅谈cpu.idle和cpu.load
1.概述 大家经常对一个系统的容量进行评估时,会参考cpu.idle和cpu.load指标,但是这两个指标到底在什么区间,表示系统是正常或者异常呢,业内有不同的说法.因此本文搜集一些资料,并对一个系统 ...
- CPU load高而使用率低的问题分析
最近服务器上出现了一个很诡异的问题,症状如下图所示: 查看进程发现: 如上图所示,非常多的df -h进程没有退出.于是手工kill掉这些 df -h进程.cpu load恢复正常. 至于为什么会有这么 ...
- Java死锁排查和Java CPU 100% 排查的步骤整理
================================================= 人工智能教程.零基础!通俗易懂!风趣幽默!大家可以看看是否对自己有帮助! 点击查看高清无码教程 == ...
- 理解linux cpu load - 什么时候应该担心了
译文原文: http://blog.scoutapp.com/articles/2009/07/31/understanding-load-averages 你可能已经很熟悉linux的平均load. ...
- Linux CPU Load Average
理解Linux系统负荷 LINUX下CPU Load Average的一点研究 Linux load average负载量分析与解决思路 Understanding Linux CPU Load - ...
随机推荐
- UVALive 7079 - How Many Maos Does the Guanxi Worth(最短路Floyd)
https://icpcarchive.ecs.baylor.edu/index.php?option=com_onlinejudge&Itemid=8&page=show_probl ...
- heritrix启动问题修正
今天抽时间想看看其他蜘蛛的情况,于是下载了heritrix-1.14.2.搜索了一下相关的安装介绍.基本步骤如下: (1)解压下载的heritrix-1.14.2.zip的压缩包,如将其放在E:\da ...
- 如何设置Grunt
原文地址: Step 1: Install Node.js Download a Node installer and run it. Installation packages are availa ...
- Servlet容器的启动过程
[http://book.51cto.com/art/201408/448854.htm] Tomcat的启动逻辑是基于观察者模式设计的,所有的容器都会继承Lifecycle接口,它管理着容器的整 ...
- 传参方式由url携带改为post提交
参考:http://www.cnblogs.com/logon/p/3218834.html 我们这里使用了iframe嵌套form表单POST提交,很简单,却能满足get|post等任何复杂情况的要 ...
- 用Java实现菱形的打印输出
import java.util.Scanner; public class dengyao2 { public dengyao2() { super(); } public static void ...
- iOS开发-关于网络状态的判断
在判断网络状态这个问题上,苹果提供了一个叫Reachability的第三方库,但是这个库并不能真正的检测我们的网络状态,我也是在调试程序的时候发现的.详情可以阅读这个博客http://blog.csd ...
- Delphi Data Types
http://docwiki.embarcadero.com/RADStudio/XE6/en/Delphi_Data_Types Integer Data Types Type Descriptio ...
- NFS错误Starting NFS quotas: Cannot register service: RPC: Unable to receive; errno=Connection refused
NFS报错一例 [root@bjs0- ~]# /etc/init.d/portreserve start Starting portreserve: ...
- [转]iOS应用性能调优的25个建议和技巧
写在前面 本文来自iOS Tutorial Team 的 Marcelo Fabri,他是Movile的一名 iOS 程序员.这是他的个人网站:http://www.marcelofabri.com/ ...