websphere性能调优之dump命令
websphere性能调优之dump命令
基于WebSphere 构建的企业应用,时常会出现性能问题,在严重的情况下还会提示出内存溢出,这是一件很让人恼怒的事情。在WebSphere Application Server(Was)运行的时候,内存溢出,会生成大量的溢出文件,如Javacore, Heapdump等文件,占用了大量的磁盘空间。在这种情况下,时常会出现一连串的系统问题,如部署在Was的所有应用服务都报错,Was连控制台也无法访问等。
为解决问题,我们通常会选择重新启动整个Was或者服务器,然后分析运行日志SystemOut.log、ystemErr.log、ative_stdout.log、native_stderr.log 和系统内存溢出的时候产生的Javacore、Heapdump文件来寻找出问题。
如果我们在测试中发现系统运行一段时间后响应开始缓慢,但Was又没有挂掉时,就可以通过人工操作产生JavaCore、Heapdump等文件,通过对相关文件、日志的分析来查找系统是否存在内存溢出的隐患。
下面介绍一下产生JavaCore、Heapdump文件的方法——websphere的dump命令。
一、Linux平台
大致步骤:
1)进入WAS安装目录的bin目录,如果是WAS6.0, 请进入所在profile的bin目录;
2)执行wsadmin.sh进入WSADMIN命令行方式提示符会变成wsadmin>
3) 执行以下命令:(注意将server1改为你的server的名字,两个逗号之间没空格)
a) 设置jvm环境变量:
wsadmin> set jvm [$AdminControl queryNames type=JVM,process=server1,*]
b) 生成javacore文件:
wsadmin> $AdminControl invoke $jvm dumpThreads
c) 退出WSADMIN命令行:
wsadmin> quit
执行完后将在was安装目录或所在profile的目录下产生JavaCore文件,通过分析JavaCore以及相关的SystemOut,SystemErr和nativestd_err等文件可以得知系统gc是否正常,是否存在有内存溢出的情况。
具体操作:
--进入bin目录
[root@csspvm bin]# pwd /opt/IBM/WebSphere/WAS6.1/profiles/AppSrv01/bin
--进入WSADMIN命令行方式
[root@csspvm bin]# ./wsadmin.sh -username root -password root WASX7209I: Connected to process "server1" on node csspvmNode02 using SOAP connector; The type of process is: UnManagedProcess WASX8011W: AdminTask object is not available. WASX7029I: For help, enter: "$Help help"
--设置jvm环境变量
wsadmin>set objectName [$AdminControl queryNames WebSphere:type=JVM,process=server1, node=webNode01,*] WebSphere:name=JVM,process=server1,platform=proxy,node=csspvmNode02,j2eeType=JVM,J2EEServer=server1,version=6.1.0.0,type=JVM,mbeanIdentifier=JVM,cell=webNode01Cell,spec=1.0
--生成heapdump文件
wsadmin>$AdminControl invoke $objectName generateHeapDump /opt/IBM/WebSphere/WAS6.1/profiles/AppSrv01/./heapdump.20100904.075650.3576.phd wsadmin>set jvm [$AdminControl queryNames WebSphere:type=JVM,process=server1,node=webNode01,*]
--生成JavaCore文件
wsadmin>$AdminControl invoke $jvm dumpThreads wsadmin>quit
--"webNode01"为websphere节点名称。
取线程:JavaCore
set objectName [$AdminControl queryNames WebSphere:type=JVM,process=server1,node=webNode01,*] set jvm [$AdminControl queryNames WebSphere:type=JVM,process=server1,node=webNode01,*] $AdminControl invoke $objectName dumpThreads $AdminControl invoke $jvm dumpThreads
取堆栈:heapdump
wsadmin -user admin -password zxin10 -c "$AdminControl invoke [$AdminControl queryNames WebSphere:type=JVM,process=server1,node=webNode01,*] generateHeapDump" $AdminControl invoke $jvm generateHeapDump $AdminControl invoke [$AdminControl queryNames WebSphere:type=JVM,process=server1,node=webNode01,*] generateHeapDump
二、 Windows平台
在Windows 下,生成JavaCore与HeapDump的方式比较简单。
1 使用Ctrl+Break
如果WebSphere是在命令行窗口启动,有启动命令行窗口,那么可以通过在命令行窗口中使用Ctrl+Break键,产生JavaCore和HeapDump。
2 调用程序
IBM 的JDK提供了接口,通过调用这个接口,可以直接生成JavaCore以及 HeapDump。
生成JavaCore:
调用JSP文件,jsp中只有一行语句,如下所示
<%
com.ibm.jvm.Dump.JavaDump();
%>
生成HeapDump
调用JSP文件,jsp中只有一行语句,如下所示
<%
com.ibm.jvm.Dump.HeapDump();
%>
调用方法后将在was安装目录或所在profile的目录下产生相关JavaCore、Heapdump文件。
好了,到这里大家学会了如何产生JavaCore、Heapdump文件,问题又来了:怎么分析产生的JavaCore、Heapdump文件呢?后面会为大家继续分享”JavaCore、Heapdump文件分析方法”。
websphere性能调优之dump命令的更多相关文章
- 基于Linux的WebSphere性能调优与故障诊断
一.关于was数据源等问题的配置 (1)关于was数据源连接池的最大.最小配置多大合适?怎样去计算? (2)关于JVM的配置,64位系统,64位WAS,最值小和最大配置多大最优?怎样去计算? (3)应 ...
- 性能调优之vmstat命令
vmstat是Virtual Meomory Statistics(虚拟内存统计)的缩写,可对操作系统的虚拟内存.进程.IO读写.CPU活动等进行监视.它是对系统的整体情况进行统计,不足之处是无法对某 ...
- 性能调优之vmstat命令(转)
vmstat是Virtual Meomory Statistics(虚拟内存统计)的缩写,可对操作系统的虚拟内存.进程.IO读写.CPU活动等进行监视.它是对系统的整体情况进行统计,不足之处是无法对某 ...
- (转)JVM性能调优之生成堆的dump文件
转自:http://blog.csdn.net/lifuxiangcaohui/article/details/37992725 最近因项目存在内存泄漏,故进行大规模的JVM性能调优 , 现把经验做一 ...
- JVM性能调优监控命令jps、jinfo、jstat、jmap+jhat、jstack使用详解
JDK本身提供了很多方便的JVM性能调优监控工具,除了集成式的VisualVM和jConsole外,还有jps.jinfo.jstat.jmap+jhat.jstack等小巧的工具,本博客希望能起抛砖 ...
- 盘点linux系统中的12条性能调优命令。
导读 性能调优一直是运维工程师最重要的工作之一,如果您所在的生产环境中遇到了系统响应速度慢,硬盘IO吞吐量异常,数据处理速度低于预期值的情况,又或者如CPU.内存.硬盘.网络等系统资源长期处于耗尽的状 ...
- JVM常用命令和性能调优建议 [Could not create the Java virtual machine]
一.查看jvm常用命令jinfo:可以输出并修改运行时的java 进程的opts. jps:与unix上的ps类似,用来显示本地的java进程,可以查看本地运行着几个java程序,并显示他们的进程号. ...
- JVM常用命令和性能调优建议
一.查看jvm常用命令jinfo:可以输出并修改运行时的java 进程的opts. jps:与unix上的ps类似,用来显示本地的java进程,可以查看本地运行着几个java程序,并显示他们的进程 ...
- 盘点linux操作系统中的10条性能调优命令,一文搞懂Linux系统调优
原文链接:猛戳这里 性能调优一直是运维工程师最重要的工作之一,如果您所在的生产环境中遇到了系统响应速度慢,硬盘IO吞吐量异常,数据处理速度低于预期值的情况,又或者如CPU.内存.硬盘.网络等系统资源长 ...
随机推荐
- 《Pro Express.js》学习笔记——概述
要学Node.js,先学Express.js. Express.js是Node.js官方推荐的基础框架. Express.js框架经过一系列的发展,已经到了4.x版本.新的版本解决了3.x之前版本的依 ...
- JavaScript 继承
许多OO语言都支持两种继承方式,接口继承和实现继承.接口继承只继承方法签名,而实现继承则继承实际的方法.由于在ECMAScript中,函数没有签名,无法实现接口继承,只支持实现继承,而且其实现继承主要 ...
- 用JQuery Validate框架,在IE8下验证报错问题解决
网站后台用了JQuery Validate框架,版本是jQuery Validation Plugin 1.8.1 因为用的时间比较久了,一直没有更新新版本. 最近公司信息录入员有调整,没有IE11浏 ...
- lombok介绍
Lombok是一种JavaArchive(JAR)文件,可用来消除Java代码的冗长.在写代码时,可以通过这个插件消除各种getter和setter,toString等常用方法. lombok 注解: ...
- 在mac上获取iphone当前屏幕截图
xcode->windows->devices->take screenshot 是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器 更新内容: Changes with n ...
- sqlite的ef使用小结
最近有一个小项目,老师推荐我用下sqlite这种轻型的数据库来进行数据的存储.轻型数据库具有其独特之处:方便,不用安装特定的软件就能够实用,关于sqlite的优点我不赘述,网上还是有好多资料的. 但我 ...
- 移动混合开发之android文件管理demo
框架采用cordova,android编译环境为android studio.系统为mac,cordova 环境搭建参考网址:http://cordova.apache.org/docs/en/5.0 ...
- mysql 导出导入数据库
导入mysql -u$USER -p$PASSWD -h127.0.0.1 -P3306 --default-character-set=utf8 < db.all.sql导出 mysqldum ...
- github的使用步骤及体会
对于github的readme文件的提交,很是坎坷. 首先打开了github的首页,对于满屏的英文,我是头大的.百度搜索教程,百度翻译等等,这些都使用上了.带着试一试的态度,我按了creat ...