Chinaunix首页 | 论坛 | 博客
  • 博客访问: 5286588
  • 博文数量: 1144
  • 博客积分: 11974
  • 博客等级: 上将
  • 技术积分: 12312
  • 用 户 组: 普通用户
  • 注册时间: 2005-04-13 20:06
文章存档

2017年(2)

2016年(14)

2015年(10)

2014年(28)

2013年(23)

2012年(29)

2011年(53)

2010年(86)

2009年(83)

2008年(43)

2007年(153)

2006年(575)

2005年(45)

分类: Oracle

2012-08-17 19:06:45

(2012-08-16 19:13) 一键转载


今天追踪线上程序cpu利用率过高的问题时,通过32内核自带的perf工具发现一个java应用程序的cpu占用率特别高。


找了另外一台硬件和内核都相同的服务器来对比,发现另一台没有这个现象。

接下来查找java的版本是否一致

java -version
机器1:
java version "1.6.0_20"
OpenJDK Runtime Environment (IcedTea6 1.9.7) (rhel-1.39.1.9.7.el6-x86_64)
OpenJDK 64-Bit Server VM (build 19.0-b09, mixed mode)

机器2:
java version "1.6.0_20"
OpenJDK Runtime Environment (IcedTea6 1.9.7) (rhel-1.39.1.9.7.el6-x86_64)
OpenJDK 64-Bit Server VM (build 19.0-b09, mixed mode)

接下来需要进一步比较jdk版本,如何知道当前jdk的安装路径呢?

首先运行pgrep java定位java应用程序的pid,再通过pmap定位可执行程序和库的路径

机器1:
pgrep java
22753

pmap 22753 | grep jvm.so
00007f0a30c2e000   8660K r-x--  /usr/lib/jvm/java-1.6.0-openjdk-1.6.0.0.x86_64/jre/lib/amd64/server/libjvm.so
00007f0a314a3000   2048K -----  /usr/lib/jvm/java-1.6.0-openjdk-1.6.0.0.x86_64/jre/lib/amd64/server/libjvm.so
00007f0a316a3000    608K rw---  /usr/lib/jvm/java-1.6.0-openjdk-1.6.0.0.x86_64/jre/lib/amd64/server/libjvm.so

机器2:
pgrep java
19540

pmap 19540 | grep jvm.so
00007fa4cc25b000  16308K r-x--  /opt/admin/install/jdk-1.6.0_26/jre/lib/amd64/server/libjvm.so
00007fa4cd248000   2044K -----  /opt/admin/install/jdk-1.6.0_26/jre/lib/amd64/server/libjvm.so
00007fa4cd447000   1864K rwx--  /opt/admin/install/jdk-1.6.0_26/jre/lib/amd64/server/libjvm.so

两个jdk的版本果然不同

阅读(1128) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~