- 浏览: 506456 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (422)
- 重要 (12)
- BUG解决备忘录 (32)
- 环境搭建 (17)
- 开源组件 (4)
- 数据库 (16)
- 设计模式 (4)
- 测试 (3)
- javascript (5)
- Android (14)
- jdk相关 (9)
- struts2 (10)
- freemark (3)
- 自定义扩展及工具类 (5)
- jdk5新特性及java基础 (13)
- ssh及其他框架 (15)
- linux (32)
- tcp-ip http协议 (8)
- 服务器集群与负载均衡 (34)
- 项目管理相关 (11)
- 实用小技术 (10)
- 架构相关 (14)
- firefox组件 (11)
- spider (6)
- 产品设计 (11)
- PHP (1)
- ws (4)
- lucene (10)
- 其他 (2)
- BI (1)
- NoSQL (3)
- gzip (1)
- ext (4)
- db (6)
- socket (1)
- 源码阅读 (2)
- NIO (2)
- 图片处理 (1)
- java 环境 (2)
- 项目管理 (4)
- 从程序员到项目经理(一):没有捷径 (1)
- bug (1)
- JAVA BASE (8)
- 技术原理 (0)
- 新框架新技术 (1)
- 量化与python (1)
- 系统编程 (0)
- C语言 (0)
- 汇编 (0)
- 算法 (0)
最新评论
-
hyspace:
别逗了,最后一个算法根本不是最优的,sort(function ...
数组去重——一道前端校招试题 -
washingtin:
楼主能把策略和路由的类代码贴出来吗
Spring + iBatis 的多库横向切分简易解决思路 -
sdyjmc:
初略看了一下,没有闹明白啊,均衡负载使用Nginx,sessi ...
J2EE集群原理 I -
shandeai520:
谢谢大神!请教大神一个问题:假如我有三台服务器,连接池的上限是 ...
集群和数据库负载均衡的研究 -
hekuilove:
给lz推荐一下apache commonsStringUtil ...
request 获取 ip
问题描述: cpu负载陡增,内存占用情况稳定。(在多cpu的情况下,比如4核,free 看到cpuload 15%,但是查看单cpu会达到 100% 负载。。。)
1分析工具jstack:
/usr/java/jdk1.6.0_13/bin/jstack -l 11831 > jstack.log // 进程 pid 号
以前 jstack 弄出来的栈文件总是不知道看些什么。通过这次问题的定位,发现 jstack 可以很快缩小排查范围。 比较适合定位线程相关的资源消耗。
核心看点:
1 检查活动状态的线程,查看提示行代码。如果不能找到问题,可以相隔几分钟从新 dump 一次,看该行是否重现。
2 在同一个 dump 文件多次出现同一个线程,提示同一行。往往会是“锁”。
2 . /usr/java/jdk1.6.0_13/bin/jmap -J-d64 -dump:live,format=b,file=heap_dump.bin 15605 // 进程 pid 号 , 文件名
dump 到的 bin 文件使用基于 eclipse 的工具“ MemoryAnalyzer ”,可以得到很完整的内存分析报告。
个人理解:仅仅是内存方面的分析,好像没办法分析 cpu 占用的东西。
3 . IDC 上,直接分析 java cpu 负载高的工具还不算多, jstack 只是说缩小排查范围,可能还需要下面这些技巧():
eclipse 的 profile 工具: http://eclipsecolorer.sourceforge.net/index_profiler.html
这个东东非常强大,可惜无法部署到 IDC 环境,也无法 dump 数据下来本机分析。对于可以在测试环境下重现的 cpu 负载高问题,可以尝试配置 profile 。
Strace http://hi.baidu.com/chinaw3/blog/item/4c5b772c39c485ee8a1399c2.html
strace
命令是一种强大的工具,它能够显示所有由用户空间程序发出的系统调用。
strace
显示这些调用的参数并返回符号形式的值。
strace
从内核接收信息,而且不需要以任何特殊的方式来构建内核。
下面记录几个常用
option .
1 -f -F
选项告诉
strace
同时跟踪
fork
和
vfork
出来的进程
2 -o xxx.txt
输出到某个文件。
3 -e execve
只记录
execve
这类系统调用
这个命令的威力要自己试过了才知道。。嘿嘿
Java profile 参数: http://java.sun.com/developer/onlineTraining/Programming/JDCBook/perf3.html
cpu=samples|times|old |
CPU usage |
off |
详细情况在“ Where the Application Spends its Time ”这个小节里面。 这个页面最后也顺带介绍了一下 strace 。
发表评论
-
JVM Java HeapSpace到达临界值的高CPU问题
2011-11-10 19:27 1070本周有同事反馈,IDC环 ... -
Nginx+keepalived做双机热备加tomcat负载均衡
2011-10-25 16:55 1621环境说明: nginx1: 192.168.2.4 ... -
mongodb查询
2011-09-03 13:42 1023#查询 查询 name = "bruce&qu ... -
Linux网管日记(9):Linux的前世今生
2011-03-13 16:00 8511.Linux的前世 地球人 ... -
网络管理员日记(8)里应外合:Linux下的后门和日志工具
2011-03-13 15:59 1059攻入Linux系统后,很多入侵者往往就开始得意忘形了。这其中还 ... -
Linux网络管理员日记(7)更上一层楼:Linux服务器的安全实践
2011-03-13 15:58 960网络安全实践中,防火 ... -
Linux网络管理员日记(6)Linux邮件服务器的安装和安全
2011-03-13 15:57 1460四、更简单高效:Linux 邮件服务器的安装和安全 在 ... -
Linux管理员日记(5) 更简单高效:Linux邮件服务器的安装和安全
2011-03-13 15:54 1127在网络管理员的日常工作中,邮件服务器扮演着一个非常重要的角色, ... -
Linux管理日记(4)——免费而稳定:Web服务器和FTP服务器的安装
2011-03-13 15:53 1221为什么要采用Linux操作系统作为网络服务器?答案是:稳定性高 ... -
Linux管理员日记连载(3)简单易操作:类似Windows控制面板的Webmin
2011-03-13 15:52 1185安装完Linux操作系统后 ... -
Linux管理员日记连载(2)——Linux系统下的设备和文件配置
2011-03-13 15:51 962新建一个虚拟机后,除 ... -
Linux管理员日记(1)——Linux服务器傻瓜式安装完全手册
2011-03-13 15:50 1939内容简介 从桌面到服务器,从 ... -
Samba服务器的安装配置和应用
2011-03-12 14:34 1108随着计算机网络的发展 ... -
Linux 中 crontab 详解及示例(收藏)
2011-03-10 10:24 762cron是一个linux下的定时执行工具,可以在无需人工干预的 ... -
CentOS下MySql 5.0.x的安装、优化及安全设置
2011-03-07 20:24 751下载页面:http://dev.mysql.com/downl ... -
RPM强制卸载
2011-03-07 12:59 2455强制卸载jdk rpm -e j2sdk1.4.2_04 ... -
CENTOS5.2 下安装MYSQL+TOMCAT6 相关设置,设置自启动
2011-03-07 06:41 1067在SUSE SLES11 下安 ... -
用Linux下的rsync命令实现多服务器镜像同步
2011-03-06 04:08 1047用linux系统中的rsync命令 ... -
不看后悔的Linux生产服务器Shell脚本分享
2011-03-06 04:05 1357不看后悔的Linux生产服务器Shell脚本分享 作为一名L ... -
CentOS vsftp配置
2011-03-05 21:12 791yum install vsftpd 2.启动/重启/关 ...
相关推荐
yourkit java profile,查看jvm的工具,图形化,功能强大
profile_java
BESS通常用于负载均衡,调峰,负载转移应用等。 此BESS块从工作空间获取每小时负载曲线(kW)输入,并计算电网和电池使用量输出到工作空间。 必须以两列格式准备负载配置文件,其中第一列是从一天的0小时开始的...
利用java 实现与摄像机的onvif通讯
主要介绍了java @Profile注解详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
解压文件,放在home目录下,因为是隐藏文件,使用ll命令查看才能看得到,解压放到home目录后修改权限,sudo chmod a+x .profile*
cpuprofile-webpack-plugin 为您的Webpack构建生成一个cpuprofile 可以将配置文件导入GoogleChrome开发工具。 此外,还会生成表示形式: :warning: 警告 :warning: 该库是一个进行中的工作,使用后果自负。 但是请...
详细解释F5负载均衡设备上实现One Connnect的原理,如何实现Client端和Server端的连接聚合。
java核心技术
JAVA_HOME的定义 JAVA_HOME是一个环境变量,它指向的是JDK(Java Development Kit)的安装目录,对于...通常在Linux系统中,我们可以通过修改bashrc或bash_profile文件来设置JAVA_HOME,使其指向正确的JDK安装目录。
Java 与数据库连接,数据库的应用实例 Java 数据库连接 vb数据库 数据库爱好 数据 Java 数据库连接 vb数据库 数据库爱好 数据Java 数据库连接 vb数据库 数据库爱好 数据
各位小伙伴肯定都遇到过拿到一个linux环境发现没有java环境,又需要屁颠屁颠跑去找java安装包配置环境变量的问题吧? 本资源为二狗自己编写的快速定义java环境变量的脚本,可以帮助你剩下不少时间,操作前建议备份/...
Java EE , web profile ,full platform ,规范
LINUX系统(在" .bash_profile "下的环境变量设置) JAVA_HOME=/opt/jdk1.5.0_06 CLASSPATH=.:$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar PATH=$PATH:$JAVA_HOME/bin:. export JAVA_HOME CLASSPATH ...
Harpro 使用相关的 HAR 和 CPUPROFILE 文件来生成已下载但未使用的 JavaScript 的报告。 Harpro 需要 node.js。 harpro [--har] [--pro] [--verbose] Harpro 将独立处理 --har 或 --pro 选项中引用的文件。 如果...
Using modern Java Virtual Machine (JVM) and OS observability tools to profile running systems, with almost no performance penalty Gaining “under the hood” knowledge of the Java HotSpot VM that can ...
由于main profile的复杂度比较高,不推荐在不支持MMX,SSE2技术的计算机上使用本解码库产品。 5)产品标杆:在性能指标上一直参照业界性能最佳coreAVC解码库进行对比开发,目前纯解码性能稳定在其120%以上,而且...
Java手机软件平台 Java手机软件平台采用的基本Java平台是CLDC (Connected Limited Device Configuration)和MIDP (Mobile Information Device Profile),是J2ME (Java 2 Micro Edition)的一部分,在中国一般称为...
MID Profile All Classes Packages java.io java.lang java.util javax.microedition.io javax.microedition.lcdui javax.microedition.lcdui.game javax.microedition.media javax.microedition.media....
.profile(由Bourne Shell和Korn Shell使用)和.login(由C Shell使用)两个文件是.bash_profile的同义词,目的是为了兼容其它Shell。在Debian中使用.profile文件代 替.bash_profile文件。 2..bashrc文件会在bash shell...